Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1642335
  • 博文数量: 409
  • 博客积分: 6240
  • 博客等级: 准将
  • 技术积分: 4908
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-01 00:04
文章分类

全部博文(409)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(13)

2015年(22)

2013年(4)

2012年(240)

2011年(127)

分类:

2011-11-12 20:46:01

原文地址:crontab计划执行目录备份 作者:zooyo

$ crontab -l
20 20 * * * /root/autobak.sh etc &> /dev/null
25 20 * * * /root/autobak.sh boot &> /dev/null
#每天20点20分和25分开始运行备份etc和boot目录
0 */2 * * * tar zcf /test/shells.tgz /test/shells &> /dev/null
#每两个小时运行备份/test/shells目录
 
$ cat autobak.sh
  1. #!/bin/sh
  2. #autobak.sh
  3. #首先切换到根目录,为了tar备份非当前目录文件时报错
  4. cd /
  5. #设置备份文件的存放目录
  6. X=/backup/
  7. #提取当前日期为年月日格式
  8. DATE=`/bin/date +%Y%m%d`
  9. #改backup目录为可写
  10. /bin/mount -o remount,rw ${X}
  11. /bin/tar -cf ${X}$1_$DATE.tar $1 > /dev/null 2>> ${X}$1_bak.log
  12. /bin/gzip -f ${X}$1_$DATE.tar
  13. #判断上个命令执行是否成功,不成功为非0值
  14. if [ $? -eq 0 ];then
  15. #若成功删除10天前并且名字为$1开头的备份文件,避免备份文件体积过大
  16. /usr/bin/find ${X} -mtime +10 -a -name $1_* -exec \rm {} \;
  17. else
  18. echo -e "ERROR: failure $1 $DATE backup!\n" >> ${X}$1_bak.log
  19. fi
  20. #改回为只读,避免错误操作导致备份损坏。
  21. /bin/mount -o remount,ro ${X}
阅读(945) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~