我有一个文件夹/home/software
,其中有一些子文件夹
/home/software/game
/home/software/photo
/home/software/ebook
...
我想创建 tar 备份,包括每个子文件夹的日期,这样我最终会得到如下文件:
game-20151013.tar.gz
photo-20151013.tar.gz
ebook-20151013.tar.gz
...
删除超过 10 天的备份的最佳方法是什么?
答案1
这是一个可以满足您要求的脚本:
ls /home/software/ | while read d
do
tar czf "/home/software/$d-$(date +%y%m%d).tar.gz" "/home/software/$d"
done
find /home/software -type f -name '*.tar.gz' -mtime +10 -exec rm {} \;
或者
cd /home/software/
ls | while read d
do
tar czf "$d-$(date +%y%m%d).tar.gz" "$d"
done
find . -type f -name '*.tar.gz' -mtime +10 -exec rm {} \;