按日期有选择地删除目录的脚本

时间:2015-07-05 19:08:18

标签: linux bash debian sh file-management

我在我的debian机器上运行sh脚本。它每晚完成并使用rsync创建增量备份。它将每个备份保存在按日期命名的目录中。所以我有:

2015-07-01
2015-07-02
2015-07-03
2015-07-04
and so-forth

我希望能够做的是随着列表的增长删除旧副本。我希望保留过去一周的每日备份,并且每周备份一次,只要我有空间。

这意味着我需要做两件事:

  1. 检查每个文件夹名称的日期。如果日期不是星期六,且超过7天,请删除它。
  2. 检查此分区(/ dev / sdb1)上的已用空间量,如果磁盘使用率超过75%,则删除最旧的文件夹。
  3. 我认为第2步可能需要处于循环中。这样它一次可以删除一个备份。重新检查可用空间,如果我们仍然高于75%,则删除另一个文件夹。

    我假设所有这些都可以使用bash脚本。我对他们来说还是很新鲜的。但是,对于那些知道自己在做什么的人来说,在谷歌搜索时我发现它应该是非常直接的。我很难弄清楚如何将元素拼凑在一起。

1 个答案:

答案 0 :(得分:0)

这是我的旧script,我迁移到rsnapshot后我没有使用它。它有一些硬编码的字符串,但我希望你可以根据需要修改它。它还测量了千兆字节的可用空间,而不是百分比。使用rsnapshot,我不再需要它了。