打包多个tar文件的Shell脚本(取决于日期)



我有一些tar文件(每天都在增加),例如:

1.tar
2.tar
3.tar
4.tar
…

我想等到它到达7.tar14.tar28.tar并继续,所以如果可能的话,我们可以在shell脚本中安排tar自动执行将文件打包到单个单元(tar)中(例如:每7天执行一次tar打包)?

last=`ls [0-9]*.tar | sed s/.tar//g | sort -g | tail -1`
if(($last%7==0))
then
     tar tar -cf `date '+%b%d'`.tar [1-9]*.tar
fi

将其添加到登录脚本中,并在创建7.tar、14.tar等之后自动打包下一次登录时的所有内容。

它做什么?

last=`ls [0-9]*.tar | sed s/.tar//g | sort -g | tail -1`

列出文件,删除结尾的.tar,排序并取最后一个文件名,这将是最近创建的文件。如果该文件名是7的倍数,则将整个文件打包到名为monthdate的tar文件中,即今天它将在Sept24.tar

最新更新