一、每天晚上12点打包备份/etc目录到/tmp/下面
1.写一个脚本:
[15:49 root@oldboy /tmp]# vim /server/scripts/bak-etc.sh
#!/bin/bash
tar zcf /tmp/etc-`date +\%F`.tar.gz /etc/
2.把脚本写入到定时任务里
crontab -e
00 00 * * * sh /server/scripts/bak-etc.sh >/dev/null 2>&1
二、每天晚上12点打包备份/etc目录到/tmp/下面删除七天之前的备份
1.写一个脚本:
vim /server/scripts/bak-etc.sh
#!/bin/bash
tar zcf /tmp/etc-`date +\%F.tar.gz /etc/
find /tmp/ -type f -mtime +7 -name 'etc*.tar.gz'|rm -rf
2.把脚本写入到定时任务里
00 00 * * * sh /server/scripts/bak-etc.sh >/dev/null 2>&1
三、每天晚上12点打包备份/etc目录到/tmp/下面删除七天之前的备份,保留每周一的不删除
1.写一个脚本:
#!/bin/bash
. /etc/profile
tar zcf /tmp/etc-`date +\%F_%w`.tar.gz /etc/
rm -f `find /tmp/ -type f -mtime +7 ! -name '*_1.tar.gz'`
2.把脚本写入到定时任务里
00 00 * * * sh /server/scripts/bak-etc.sh >/dev/null 2>&1
四、每天晚上12点打包备份/etc目录到/backup/ip(地址命名目录)
1.写一个脚本:
#!/bin/bash
. /etc/profile
mkdir /backup/`ip a s eth0 |awk -F'[ /]+' 'NR==3{print $3}'`_`date +\%F_%w`
tar zcf /backup/`ip a s eth0 |awk -F'[ /]+' 'NR==3{print $3}'`_`date +\%F_%w`/etc-`date +%F_%H.tar.gz` /etc/
2.把脚本写入到定时任务里
00 00 * * * sh /server/scripts/bak-etc.sh >/dev/null 2>&1
五、删除七天之前的备份,保留每周一的不删除
1.写一个脚本:
#!/bin/bash
dir=`ip a s eth0 |awk -F'[ /]+' 'NR==3{print $3}'`
mkdir /backup/`ip a s eth0 |awk -F'[ /]+' 'NR==3{print $3}'`_`date +\%F_\%T_\%w`
tar zcf /backup/dir/etc-`date +\%F_\%w`.tar.gz /etc/
rm -f `find /backup/ -type f -mtime +7 ! -name '*_1.tar.gz'`
2.把脚本写入到定时任务里
00 00 * * * sh /root/shells/bak-etc.sh >/dev/null 2>&1
六、写一个定时任务,每天晚上12点将/usr/log/nginx目录下7天以前大于1G的日志文件移动到/data/log下并以前一天的时间命名
1.写一个脚本:shells/nginx.sh
#!/bin/bash
find /var/log/nginx/ -type f –size +1G –name"*.log" -mtime +7 -exec mv {} /data/log/`date -d '-1 day'` \;
2.把脚本写入到定时任务里
00 00 * * * sh /root/shells/nginx.sh >/dev/null 2>&1
七、在每个月的第一天备份并压缩/etc/目录下所有内容,存放在/root/backup目录里,且文件名如下形式yymmdd_etc,yy为年,mm为月,dd为日。
1.写一个脚本:shells/etc.sh
#!/bin/bash
tar /root/backup/`date +\%Y\%m\%d`_etc /etc/
2.把脚本写入到定时任务里
00 00 01 * * sh /root/etc.sh >/dev/null 2>&1
【面试题】定时任务
https://www.jianshu.com/p/d902ef6d3cf5
网友评论