我想删除生产服务器上的一些目录。但是上次删除它们时,它们导致与服务器的连接开始超时,因为磁盘 IO 被淹没了。是否有命令可以用来慢慢删除这些目录,或者我应该自己编写一个带有一些自由睡眠的 shell 脚本?
答案1
如果sleep
您的系统返回 0,那么您可以将其粘贴在find
命令中:
find ... -exec sleep 1 \; -delete
答案2
这是替代方案
find . -type f -print0 | xargs -n 5 -0 -I {} rm {}; sleep 10
更改参数
-n 5
# 这是将同时传递给 rm 命令的文件数。
和
sleep 10
# 这是在执行下一个 rm 块之前命令将休眠的时间(以秒为单位)
答案3
怎么样:
ls | xargs -I {} -n 1 sh -c'echo {};睡眠1'
只要将 echo 替换为 rm 就可以了。