0%

对nginx日志文件进行备份和删除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
###########定时器(手动复制以下命令执行)############################################
#######每天凌晨执行###########
#crontab -e
#1 0 0 * * ? /data/log/rotate.sh
#systemctl start crond
#systemctl enable crond
###########定时器####################################################################
#/bin/sh: /data/log/rotate.sh: 权限不够
#执行以下命令
#find . -name 'rotate.sh' | xargs chmod 775
##########nginx压缩##################################################################
DATE=$(date +'%Y%m%d%H%M%S')
##########nginx的路径################################################################
nginx_log_path=/data/log/nginx
##########nginx日志备份的路径########################################################
nginx_log_bak_path=/data/log/nginx

mkdir -p $nginx_log_bak_path/$DATE
mv $nginx_log_path/logs/access.log $nginx_log_bak_path/$DATE/access.$DATE.log
mv $nginx_log_path/logs/error.log $nginx_log_bak_path/$DATE/error.$DATE.log
mv $nginx_log_path/logs/dongge-access.log $nginx_log_bak_path/$DATE/dongge-access.$DATE.log
mv $nginx_log_path/logs/dongge-error.log $nginx_log_bak_path/$DATE/dongge-error.$DATE.log
mv $nginx_log_path/logs/newerp-access.log $nginx_log_bak_path/$DATE/newerp-access.$DATE.log
mv $nginx_log_path/logs/newerp-error.log $nginx_log_bak_path/$DATE/newerp-error.$DATE.log
mv $nginx_log_path/logs/olderp-access.log $nginx_log_bak_path/$DATE/olderp-access.$DATE.log
mv $nginx_log_path/logs/olderp-error.log $nginx_log_bak_path/$DATE/olderp-error.$DATE.log
kill -USR1 `cat /var/run/nginx.pid/nginx.pid`
sleep 1
gzip $nginx_log_bak_path/$DATE/access.$DATE.log
gzip $nginx_log_bak_path/$DATE/error.$DATE.log
gzip $nginx_log_bak_path/$DATE/dongge-access.$DATE.log
gzip $nginx_log_bak_path/$DATE/dongge-error.$DATE.log
gzip $nginx_log_bak_path/$DATE/newerp-access.$DATE.log
gzip $nginx_log_bak_path/$DATE/newerp-error.$DATE.log
gzip $nginx_log_bak_path/$DATE/olderp-access.$DATE.log
gzip $nginx_log_bak_path/$DATE/olderp-error.$DATE.log
#########nginx压缩####################################################################

#########删除文件(仅保存180天的备份数据)############################################
find $nginx_log_bak_path -mtime +30 -name "*.log" -exec rm -rf {} \;
################################删除文件##############################################