版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/black_little_/article/details/82900903
nginx定时备份日志
思路 用shell脚本加linux定时任务来备份日志
- 首先在进入
nginx
目录
cd /usr/local/nginx/
- 创建一个
logdata
目录以后的脚本和备份的日志都放在这里
mkdir /logdata
- 进入
logdata
目录编辑创建创建一个runlog.sh
shell脚本
cd /logdata/
vim runlog.sh
- 内容如下
#!/bin/bash #标准开头
LOGPATH=/usr/local/nginx/logs/logname.access.log #声明变量 LOGPATH 赋值地址
BPASEPATH=/logdata/$(date -d yesterday +%Y%m) #声明变量 BPASEPATH 赋值目录
mkdir -p $BPASEPATH #便于管理每个月创建一个目录
bak= $BPASEPATH/$(date -d yesterday +%Y%m%d).logname.access.log #声明变量 bak 赋值要修改后的日志
mv $LOGPATH $bak #将日志复制过去
touch $LOGPATH #在创建一个新的日志
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
- 保存退出后创建一个定时任务
crontab -e
- 内容如下 //每日凌晨00点执行一次 sh /logdata/runlog.sh 这个命令
* 0 * * * sh /data/runlog.sh
用法 分 时 日 月 周 命令
- 保存退出就好了
- 当然为了保险先测试一下
*/1 * * * * sh /data/runlog.sh //先每分钟执行一次没问题了在改回去