【发布时间】:2019-07-10 01:15:52
【问题描述】:
我正在尝试编写一个脚本来继续从文件夹 (/home/folder) 中删除文件,直到主目录 (/home/) 的大小小于 X GB。该脚本应一次删除 25 个文件,这些文件应该是目录中最旧的文件。然而,我是一个菜鸟,我想不出一个循环。相反,我在下面写了几次相同的脚本行;它有效,但我希望有一个更好的循环。你能用更优雅、更有效的方式帮助我吗?
size=$(du -shb /home/ | awk '{print $1}')
if [ "$size" -gt X ]; then
find /home/folder -maxdepth 1 -type f -printf '%T@\t%p\n' | sort -r | tail -n 25 | sed 's/[0-9]*\.[0-9]*\t//' | xargs -d '\n' rm -f
sleep 30
else
exit
fi
【问题讨论】:
-
这是用于相同目的的我的脚本pastebin.com/0vdyx6DD