免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 7495 | 回复: 36
打印 上一主题 下一主题

【已解决】这段脚本怎么简化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-20 14:05 |只看该作者 |倒序浏览
本帖最后由 puffbaby 于 2011-04-21 15:54 编辑
  1. #!/bin/sh
  2. if [ `date +%w` -eq 0 ];then
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. rm -rf /data/bak/shap_`date +%Y_%m_%d -d '5 day ago'`
  10. rm -rf /data/bak/shap_`date +%Y_%m_%d -d '4 day ago'`
  11. rm -rf /data/bak/shap_`date +%Y_%m_%d -d '3 day ago'`
  12. rm -rf /data/bak/shap_`date +%Y_%m_%d -d '2 day ago'`
  13. rm -rf /data/bak/shap_`date +%Y_%m_%d -d '1 day ago'`
  14. else
  15. 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
  16. fi
  17. exit 0
复制代码
脚本判断是不是星期天,如果是星期天则做备份,并且不打包blog music phpma这三个目录。然后删除1-5天前的5个备份文件。
如果不是星期天,那么只做个简单的增量备份。
觉得这脚本比较繁琐。这里删除的是5天前的文件。如果要求是15天呢?
怎么修改这个脚本,更简单?
倒腾一天终于搞掂了。还是时间问题最后用-ctime(最后状态改变时间)这参数。下面是修改过的:
感谢各位的帮助,学到不少东西
————————————————————————————————————————————————————————————————————————————————————————————————
  1. #!/bin/sh
  2. s=`date +%w`  #判断是周几 today=`date +%Y_%m_%d` #取当前时间,格式为2000_01_01
  3. if [ $s -eq 0 ];then
  4. tar -g /data/bak/snap_$today -zcf /data/bak/$today.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
  5. find /data/bak -ctime -7 -ctime +0 rm -f {} \;
  6. else

  7. tar -g /data/bak/snap_$today -zcf /data/bak/$today.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
  8. fi
  9. exit 0
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-04-20 14:25 |只看该作者
我表示没弄明白。。不是删除5天前的文件么  为什么把1天前到5天前的全删了。。。

论坛徽章:
0
3 [报告]
发表于 2011-04-20 15:40 |只看该作者
我表示没弄明白。。不是删除5天前的文件么  为什么把1天前到5天前的全删了。。。
qinyudd 发表于 2011-04-20 14:25

  是我表述错误
是把1-5天的全删除了。。

论坛徽章:
0
4 [报告]
发表于 2011-04-20 15:47 |只看该作者
可是既然非增量备份是每星期天才备份的 怎么会有5个备份文件 应该是删除7天前的一个备份文件才对啊
而不是星期天的话,每天只生成一个增量备份文件,这样的话增量备份除了第一次能删5个 后面每天依旧只能删一个啊

论坛徽章:
0
5 [报告]
发表于 2011-04-20 15:51 |只看该作者
可是既然非增量备份是每星期天才备份的 怎么会有5个备份文件 应该是删除7天前的一个备份文件才对啊
而不是 ...
qinyudd 发表于 2011-04-20 15:47


虽然说是增量备份,其实还是完全备份啊
今天是星期三 4月20 号到24号星期天这期间都是做打包,然后24号在做打包的并且打包完的时候。删除19-23号已经打包的文件.这里设定的是5天,我设定3天,4天都可以啊

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
6 [报告]
发表于 2011-04-20 15:54 |只看该作者
find找修改日期低于N天的全删了?

论坛徽章:
0
7 [报告]
发表于 2011-04-20 15:58 |只看该作者
find找修改日期低于N天的全删了?
惟吾无为 发表于 2011-04-20 15:54



   是这意思
  1. find . -mtime +5 -exec rm {} \;
复制代码
这个csdn 给的
可是看不懂
能不能 解释一下啊
特别是-mtime -exec {} \ 这几个意思

论坛徽章:
0
8 [报告]
发表于 2011-04-20 15:59 |只看该作者
本帖最后由 qinyudd 于 2011-04-20 16:01 编辑

理解你的意思了。。
这个是删除当前目录和其子目录下修改日期大于5天的所有文件

论坛徽章:
0
9 [报告]
发表于 2011-04-20 16:06 |只看该作者
理解你的意思了。。
这个是删除当前目录和其子目录下修改日期大于5天的所有文件
qinyudd 发表于 2011-04-20 15:59



    理解了,那就帮忙想想怎么做吧

论坛徽章:
0
10 [报告]
发表于 2011-04-20 16:07 |只看该作者
find /data/bak -mtime +5 -exec rm {} \; 就是这个可以了呀  把那些删除语句替换成这句话就OK了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP