小编use*_*750的帖子

Bash脚本通过删除最后访问的文件来限制目录大小

我之前使用过一个简单的find命令来删除过去x天内未访问的tar文件(在本例中为3天):

find /PATH/TO/FILES -type f -name "*.tar" -atime +3 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

我现在需要通过按访问日期的顺序删除来改进这个脚本,我的bash写作技巧有点生疏.这就是我需要做的事情:

  1. 检查目录/ PATH/TO/FILES的大小
  2. 如果1)中的大小大于X大小,请按访问日期获取文件列表
  3. 按顺序删除文件,直到大小小于X.

这里的好处是缓存和备份目录,我只会删除我需要的内容以使其保持在一个限制内,而简化的方法可能会超过大小限制,如果一天特别大.我猜我需要使用stat和bash for循环?

bash shell for-loop

6
推荐指数
2
解决办法
4929
查看次数

标签 统计

bash ×1

for-loop ×1

shell ×1