nginx日志分割备份的方法

创建存放备份文件目录

mkdir /usr/local/nginx/back_up_logs 

创建脚本 log. sh

vim /usr/local/nginx/sbin/log.sh 

log.sh文件的内容:

#!/bin/sh
#设置基路径
BASE_DIR=/usr/local/nginx
#要切割备份的日志文件名
BASE_FILE_NAME=access.log
#日志路径
LOG_PATH=$BASE_DIR/logs
#日志切割后备份路径
BAK_PATH=$BASE_DIR/back_up_logs
#切割日志文件
LOG_FILE=$LOG_PATH/$BASE_FILE_NAME
#获取时间
BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M`  //以分钟为单位
#备份文件
BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
echo $BAK_FILE
#关闭nginx
$BASE_DIR/sbin/nginx -s stop
#移动切割文件
mv $LOG_FILE $BAK_FILE
#启动nginx
$BASE_DIR/sbin/nginx

设置脚本授权

chmod 755 log.sh

执行该命令设置定时任务

crontab -e 

每分钟执行一次,保存退出即可自动开始执行

*/1 * * * * sh /usr/local/nginx/sbin/log.sh 

定时任务

crontab -l //查看所有定时任务
crontab -r //删除所有定时任务

猜你喜欢

转载自blog.csdn.net/guo_qiangqiang/article/details/87873878