自动打包清理日志脚本

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

猜你喜欢

转载自blog.csdn.net/weixin_36511527/article/details/80591371
今日推荐