linux crontab nginx 日志拆分备份

#!/bin/bash
###########定时器(手动复制以下命令执行)############################################
#######每天凌晨执行###########
#crontab -e
#1 0 0 * * ? /home/crontab/rotate.sh
#systemctl start crond
#systemctl enable crond
###########定时器####################################################################
#/bin/sh: /home/crontab/rotate.sh: 权限不够
#执行以下命令
#find . -name 'rotate.sh' | xargs chmod 775
##########nginx压缩##################################################################
DATE=$(date +'%Y%m%d%H%M%S')
##########nginx的路径################################################################
nginx_path=/home/nginx
##########nginx日志备份的路径########################################################
nginx_log_bak_path=/home/nginx/logs-bak

mkdir -p $nginx_log_bak_path/$DATE
mv $nginx_path/logs/access.log $nginx_log_bak_path/$DATE/access.$DATE.log
mv $nginx_path/logs/error.log $nginx_log_bak_path/$DATE/error.$DATE.log
kill -USR1 `cat $nginx_path/logs/nginx.pid`
sleep 1
gzip $nginx_log_bak_path/$DATE/access.$DATE.log
gzip $nginx_log_bak_path/$DATE/error.$DATE.log
#########nginx压缩####################################################################

#########删除文件(仅保存180天的备份数据)############################################
ls -dtl $nginx_log_bak_path/* | tail -n +180 | awk '{print $9}' | xargs rm -rf
################################删除文件##############################################

 

 

posted @ 2021-08-26 14:27  夏末、初秋  阅读(88)  评论(0编辑  收藏  举报