用于打包多个tar文件的Shell脚本(取决于当天)

时间:2014-09-24 15:04:49

标签: linux bash shell tar

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

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

我想等到7.tar14.tar28.tar并继续,所以如果可能的话,我们可以安排tar来执行将文件打包成单个单元(tar)自动(例如:每7天焦油包装)?

1 个答案:

答案 0 :(得分:0)

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

打开。