每天晚上12点打包备份/etc/目录到/tmp下面
每天晚上12点打包备份/etc/目录到/backup 删除7天之前的备份
1.编写命令测试命令
[root@oldboy /backup]# touch -t 0811142234.50 {1..10}.tar.gz 创建环境
[root@oldboy /backup]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 14 2008 10.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 1.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 2.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 3.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 4.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 5.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 6.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 7.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 8.tar.gz
-rw-r--r--. 1 root root 0 Nov 14 2008 9.tar.gz
[root@oldboy ~]# /bin/rm -rf `find /backup -name '*.tar.gz' -mtime '+7'`
[root@oldboy ~]# ll /backup
total 0
2.编写脚本
[root@oldboy ~]# vim /server/scripts/etcbak.sh
#!/bin/bash
tar -zcf /backup/etc-`date +%F-%M`.tar.gz /etc
/bin/rm -rf `find /backup -name '*.tar.gz -mtime '+7'`
测试脚本
[root@oldboy /backup]# touch -t 0811142234.50 {1..10}.tar.gz
[root@oldboy ~]# sh /server/scripts/etcbak.sh
tar: Removing leading `/' from member names
[root@oldboy ~]# ll /backup
total 19968
-rw-r--r--. 1 root root 10219560 Apr 28 17:26 etc-2019-04-28-26.tar.gz
-rw-r--r--. 1 root root 10219560 Apr 28 17:27 etc-2019-04-28-27.tar.gz
写入定时任务先设置每分方便检查
[root@oldboy ~]# crontab -l |tail -2
#bak /etc -->/backup but rm mtime +7
* * * * * sh /server/scripts/etcbak.sh >>/backup/etcbak.txt 2>&1
检查看结果
[root@oldboy /backup]# touch -t 0811142234.50 {1..10}.tar.gz
[root@oldboy /backup]# ll
total 49924
-rw-r--r--. 1 root root 10219560 Apr 28 17:26 etc-2019-04-28-26.tar.gz
-rw-r--r--. 1 root root 10219560 Apr 28 17:27 etc-2019-04-28-27.tar.gz
-rw-r--r--. 1 root root 10219560 Apr 28 17:33 etc-2019-04-28-33.tar.gz
-rw-r--r--. 1 root root 10219560 Apr 28 17:34 etc-2019-04-28-34.tar.gz
-rw-r--r--. 1 root root 10219560 Apr 28 17:35 etc-2019-04-28-35.tar.gz
-rw-r--r--. 1 root root 132 Apr 28 17:35 etcbak.txt
检查看日志
Apr 28 17:39:01 oldboy CROND[15688]: (root) CMD (sh /server/scripts/ip.sh >>/tmp/ip.txt 2>&1)
Apr 28 17:39:01 oldboy CROND[15687]: (root) CMD (sh /server/scripts/etcbak.sh >>/backup/etcbak.txt 2>&1)
Apr 28 17:40:01 oldboy CROND[15755]: (root) CMD (sh /server/scripts/ip.sh >>/tmp/ip.txt 2>&1)
Apr 28 17:40:01 oldboy CROND[15756]: (root) CMD (sh /server/scripts/etcbak.sh >>/backup/etcbak.txt 2>&1)
定时任务写入正确得时间
#bak /etc -->/backup but rm mtime +7
00 00 * * * sh /server/scripts/etcbak.sh >>/backup/etcbak.txt 2>&1
1.每天晚上12点打包备份/etc/目录到/backup 删除7天之前的备份 但是要保留每周1的备份
写脚本
[root@oldboy ~]# cat /server/scripts/etcbak-1.sh
#!/bin/bash
tar zcf /backup/etc-`date +%F-%w`.tar.gz /etc
find /backup -name '*.tar.gz' -mtime '+6'| sed 's#.*-1.tar.gz##g'|xargs rm -rf
第二种
[root@oldboy ~]# cat /server/scripts/etcbak-1.sh
#!/bin/bash
tar zcf /backup/etc-`date +%F-%w`.tar.gz /etc
find /backup -name '*.tar.gz' -mtime '+6'| sed 's#.*-1.tar.gz##g'|xargs rm -rf
先定时每分钟执行
[root@oldboy ~]# crontab -l|tail -n3
#bak /etc -->/backup but rm mtime +7 baoliu zhou 1
* * * * * sh /server/scripts/etcbak-1.sh >/dev/null 2>&1
按系统规定
[root@oldboy ~]# crontab -l|tail -n3
#bak /etc -->/backup but rm mtime +7 baoliu zhou 100
00 00 * * * sh /server/scripts/etcbak-1.sh >/dev/null 2>&1
1.每天晚上12点打包备份/etc/目录到/backup/ip地址命名目录 删除7天之前的备份 但是要保留每周1的备份
写的脚本
[root@oldboy ~]# cat /server/scripts/ipetcbak-1.sh
#!/bin/bash
ip=`ip a s eth0|awk -F'[ /]+' 'NR==3{print $3}'`
mkdir -p /backup/$ip
tar zcf /backup/$ip/etc-`date +%F-%w`.tar.gz /etc
find /backup/$ip -name '*.tar.gz' -mtime '+6'| sed 's#.*-1.tar.gz##g'|xargs rm -rf
写入定时
[root@oldboy /backup/10.0.0.200]# crontab -l |tail -n3
#bak /etc -->/backup/ip but rm mtime +7 baoliu zhou 100
#00 00 * * * sh /server/scripts/ipetcbak-1.sh >/dev/null 2>&1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)