#!/bin/bash
LOGPATH=/data/wwwlogs/mytest_log/access_nginx.log //nginx的日志路径
BAKPATH=/data/wwwlogs/bak //要备份的路径
bak=$BAKPATH/$(date -d yesterday +%Y%m%d%H%M).mytest.access.log //定义了的bak变量
echo $bak //执行输出一下
[root@localhost crontab]# chmod 777 nginx_log.sh //赋权限
[root@localhost crontab]# ./nginx_log.sh //执行脚本
/data/wwwlogs/bak/201801101205.mytest.access.log //输出的格式
完整脚本如下
#!/bin/bash
#设置日志文件存放目录
LOGPATH=/data/wwwlogs/mytest_log/access_nginx.log
BAKPATH=/data/wwwlogs/bak
#备分文件名称
bak=$BAKPATH/$(date -d yesterday +%Y%m%d%H%M).mytest.access.log
#echo $bak
#重命名日志文件
mv $LOGPATH $bak
touch $LOGPATH
#向nginx主进程发信号重新打开日志,确保nginx.pid路径正确
#[root@localhost wwwlogs]# find / -name nginx.pid
#/var/run/nginx.pid
kill -USR1 `cat /var/run/nginx.pid`
然后创建定时器
关于定时器详细的讲解在 https://www.linuxidc.com/Linux/2019-03/157851.htm 下
01 00 * * * /data/crontab/nginx_log.sh # 每天0时1分(建议在02-04点之间,系统负载小)
查看一下/data/wwwlogs/bak就会有日志文件了
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx