当前位置: 技术问答>linux和unix
文件打包
来源: 互联网 发布时间:2016-11-24
本文导语: #!/bin/sh if [ `date +%w` -eq 0 ];then tar -g /data/bak/shap_`date +%Y_%m_%d` -zcf /data/bak/`date +%Y_%m_%d`.eyou.full.backup.tar.gz /data/eyou --exclude=/data/eyou/apache/htdocs/blog --exclude=/data/eyou/apache/htdocs/music --exclude=/data/eyou/apache/htdocs/phpma rm -rf /...
#!/bin/sh
if [ `date +%w` -eq 0 ];then
tar -g /data/bak/shap_`date +%Y_%m_%d` -zcf /data/bak/`date +%Y_%m_%d`.eyou.full.backup.tar.gz /data/eyou --exclude=/data/eyou/apache/htdocs/blog --exclude=/data/eyou/apache/htdocs/music --exclude=/data/eyou/apache/htdocs/phpma
rm -rf /data/bak/`date -d '5 day ago' +%Y`_`date -d '5 day ago' +%m`_`date -d'5 day ago' +%d`.eyou.append.backup.tar.gz
rm -rf /data/bak/`date -d '4 day ago' +%Y`_`date -d '4 day ago' +%m`_`date -d'4 day ago' +%d`.eyou.append.backup.tar.gz
rm -rf /data/bak/`date -d '3 day ago' +%Y`_`date -d '3 day ago' +%m`_`date -d'3 day ago' +%d`.eyou.append.backup.tar.gz
rm -rf /data/bak/`date -d '2 day ago' +%Y`_`date -d '2 day ago' +%m`_`date -d'2 day ago' +%d`.eyou.append.backup.tar.gz
rm -rf /data/bak/`date -d '1 day ago' +%Y`_`date -d '1 day ago' +%m`_`date -d'1 day ago' +%d`.eyou.append.backup.tar.gz
rm -rf /data/bak/shap_`date +%Y_%m_%d -d '5 day ago'`
rm -rf /data/bak/shap_`date +%Y_%m_%d -d '4 day ago'`
rm -rf /data/bak/shap_`date +%Y_%m_%d -d '3 day ago'`
rm -rf /data/bak/shap_`date +%Y_%m_%d -d '2 day ago'`
rm -rf /data/bak/shap_`date +%Y_%m_%d -d '1 day ago'`
else
tar -g /data/bak/shap_`date +%Y_%m_%d` -zcf /data/bak/`date +%Y_%m_%d`.eyou.append.backup.tar.gz /data/eyou --exclude=/data/eyou/apache/htdocs/blog --exclude=/data/eyou/apache/htdocs/music --exclude=/data/eyou/apache/htdocs/phpma
fi
exit 0
脚本判断是不是星期天,如果是星期天则做备份,并且不打包blog music phpma这三个目录。然后删除5天前的备份文件。
如果不是星期天,那么只做个简单的增量备份。
觉得这脚本比较繁琐。这里删除的是5天前的文件。如果要求是15天呢?
怎么修改这个脚本,更简单?
|
删除15天之前的文件
find . -mtime +15 -exec rm {} ;
find . -mtime +15 -exec rm {} ;