vi /home/flushLogs.sh
#!/bin/bash ## 自动打包清理日志脚本 ##日志所在路径 LogPath="/home/wwwlogs" ##日志备份路径 BackPath="/home/wwwlogs/logs" ##==================== 以下不需要修改 =========================## todayBackup=${BackPath}/$(date +"%Y%m%d") oldBackup=${BackPath}/$(date -d -180day +"%Y%m%d") if [ ! -d ${LogPath} ]; then echo "日志目录不存在,程序退出!" exit 1 fi if [ ! -d ${BackPath} ]; then mkdir -p ${BackPath} fi echo $(date +"%Y-%m-%d %H:%M:%S") "开始备份日志文件……" echo "打包日志文件" zip -j ${todayBackup}.zip ${LogPath}/*.log echo "清理日志文件" rm -rf ${LogPath}/*.log echo "重新加载nginx" /etc/init.d/nginx reload echo "清理过期日志" rm -rf ${oldBackup}.zip
添加定时任务
crontab -e
如果提示-bash: crontab: command not found
直接执行
yum install vixie-cron yum install crontabs (这句可能不需要,但是你先试试也无关紧要)
设置每天0点执行一次
0 0 * * * /home/flushLogs.sh
设置完重启服务
service crond restart