有什么方法可以比使用命令 rm -rf 更快地删除文件夹/文件?
似乎我的光盘充满了数十亿个文件(php5 的会话),这些文件没有在 cron 中删除,所以我需要手动删除它们,但这需要几个小时,但仍然无助于减少数量。谢谢你。
我的命令:rm -rf /var/lib/php5/*
还尝试了这些命令:
find /var/lib/php5 -name "sess_*" -exec rm {} \;
和
perl -e 'chdir "/var/lib/php5/" or die; opendir D, "."; while ($n = readdir D) { unlink $n }'
最快的方法可能是:
还:
而且,如果你喜欢
perl
:php5 应该带有一个默认的 cron 作业来删除会话文件。
在 Debian/Ubuntu 中,它就像下面这样(直接从 Ubuntu 12.04 LTS 复制过来)
/etc/cron.d/php5
它每半小时运行一次,并根据 php.ini 中的 session.gc_maxlifetime 删除过期的会话。
所以你应该做以下事情:
检查/etc/php5/apache2/php.ini中session.gc_maxlifetime的值
Ubuntu 上session.gc_maxlifetime的默认值为1440sec = 24min
如果以上 2 看起来正常,请尝试在 cron 作业中手动运行命令行。这将在屏幕上打印所有错误。
对于已经存在的数十亿会话文件,您现在必须手动删除它们。
为了控制目前的情况
然后删除/var/lib/php5.delete。这可能需要几个小时。同时注意新建/var/lib/php5目录下的文件号。如果它以不正常的方式增加,那么除了删除文件之外,您确实遇到了问题。
手动运行 cron 作业命令行
只需在命令提示符中将root后面的部分,如下