宝塔迁移网站和rm删除大量文件卡住怎么办?linux用rsync命令十万个文件秒删除

昨天在服务器网站搬家的时候遇到一个小问题,在linux端现在用宝塔面板管理非常方便,于是搬家也偷懒用一键迁移的功能,可以把数据库网站配置等一次性迁移到新服务器,用宝塔迁移网站的时候卡住不动,直接ssh到服务器用rm -rf删除网站缓存文件目录的时候,也卡住不动,因为缓存目录的文件太多了,导致这样删除效果差,非常慢。

rsync --delete-before

上面两种方法都太费时间了,于是只能用rsync来操作了。

网站用的是帝国CMS程序,现在需要把缓存目录清空后再迁移到新服务器,目录为:/ecachefiles/empirecms/

rsync --delete-before具体操作方法:

1、在/ecachefiles/目录下新建一个临时的空目录/temp/

mkdir temp

2、然后通过rsync指令用空文件夹覆盖掉目标文件夹

rsync --delete-before -d /ecachefiles/temp/ /ecachefiles/empirecms/ --直接删除,不会列出详细信息;

当然也可以列出详细信息,但是文件多的话,没必要;列出详细信息的命令也写出来:

rsync --delete-before -a -H -v /ecachefiles/temp/ /ecachefiles/empirecms/  --删除时会列出详细信息

网站缓存目录下面有多少个缓存文件具体也不知道,反正删除完成之后磁盘腾空出来几十G空间,怪不得用rm -rf卡着大半天没反应了。

rsync为什么比rm 删除速度快?主要还是工作原理不一样

1、rm命令删除内容时,会把目录的每个条目逐个删除,需要循环重复N多次,当文件特别多时硬件开销特别大,所以卡;
2、rsync删除内容时,是把建立好新的空目录来替换掉老目录,注意,是替换,基本没开销。
本文由 知事网 作者:知事网 发表,其版权均为 知事网 所有,文章内容系作者个人观点,不代表 知事网 对观点赞同或支持。如需转载,请注明文章来源。
10
知事网

评论:

1 条评论,访客:1 条,站长:0 条

0%好评

  • 好评:(0%)
  • 中评:(0%)
  • 差评:(0%)

发表评论