每周五23:50自动备份/var/log下的所有日志文件到/root/Backup目录下 ,并以日期命名;
#vim backup.sh
[ -d /root/Backup ] && echo "Backup is ready" || mkdir /root/Backup > /dev/null #先判断备份文件保存目录是否存在,不存在则创建
tar -czfP /root/Backup/log-`date +%Y%m%d`.tar.gz /var/log ## tar默认为相对路径,可以使用-P参数使用绝对路径
##保存并退出脚本,编写计划任务,以下命令在系统命令界面设置
#chmod +x /root/backup.sh #添加可执行权限
#crontab -e
30 23 * * 5 /root/backup.sh
每天备份前一天的日志,保留30天日志并定期清理30天前的备份日志
vim logbak.sh
#!/bin/bash
#获取备份的前一天时间
DAY=`TZ="TAIST+16" date +%Y-%m-%d`
#备份前一天的日志文件
tar cvf /u01/mics/log_archive/$DAY.tar /u01/mics/log/$DAY /u01/mics/log/*.log
gzip -r /u01/mics/log_archive/$DAY.tar
#清除备份目录下30天前的备份文件
find /u01/mics/log_archive/ -mtime +30 -exec rm -rf {} \;
#设定计划任务。每天00:30备份昨天的日志
crontab -e
30 00 * * * sh /u01/mics/baklog