我有一些tar文件(每天都在增加),例如:
1.tar
2.tar
3.tar
4.tar
…
我想等到它到达7.tar
、14.tar
、28.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