环境介绍:所使用的linux系统为win10自带的ubuntu系统,所使用的nginx版本为1.4.2,并且日志已经打开,可以进行的导出。
1.备份脚本的实现
注:备份的的目录就在logs/下边,目录名字为昨天的年月,文件名字中含有日的信息
# this file is to save the log.
base_path='/usr/local/nginx/logs' #说明备份的基本路径
save_path=$(date -d yesterday +"%Y%m") #说明要备份的文件夹名
day=$(date -d yesterday +"%d") #说明昨天是几号
mkdir -p $base_path/$save_path #建立要备份的文件夹,没有则创建
mv $base_path/access.log $base_path/$save_path/access_$day.log
#移动日志文件到对应目录下边
# echo $base_path/$save_path/access_$day.log
# 打印一下备份的文件,可以打开
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` #使用信号重读日志文件
2.设定每天执行一次
ps -ef | grep cron # 查看定时进程是否启动
service cron start #启动定时进程
crontab -e #设置定时任务脚本
00 02 * * * sh /usr/local/nginx/sbin/savelog.sh #设定每天02:00执行一次后边的命令