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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| #!/bin/bash
#function:cut nginx log files for lnmp
#author: http://lnmp.org
#set the path to nginx log files
log_files_path="/usr/local/webserver/nginx/logs/"
log_files_dir="/usr/local/webserver/nginx/logs/old/"
#set nginx log files you want to cut
log_files_name="access.log"
save_days=30
mkdir -p ${log_files_dir}
############################################
#Please do not modify the following script #
############################################
cp ${log_files_path}${log_files_name} ${log_files_path}${log_files_name}_bak
#循环生成删除3号到12号的旧日志,
#for((i=3;i<13;i++));
#do
#if [ $i -lt '10' ];then
#d=0$i
#else
#d=$i
#fi
#11/Oct/2015
#date_g=$(date -d last-day +"%d/%b/%Y")
#date_g=$d/Oct/2015
#20151011
#date_l=$(date -d last-day +"%Y%m%d")
#date_l=201510$d
#11\/Oct\/2015
#date=$(date -d last-day +"%d\/%b\/%Y")
#date="$d\/Oct\/2015"
#cat ${log_files_path}${log_files_name} | grep ${date_g} >${log_files_dir}www_access_${date_l}.log
#sed -i /${date}/d ${log_files_path}${log_files_name}
#done
#11/Oct/2015 昨天日期
date_g=$(date -d last-day +"%d/%b/%Y")
#20151011 昨天日期
date_l=$(date -d last-day +"%Y%m%d")
#11\/Oct\/2015 昨天日期
date=$(date -d last-day +"%d\/%b\/%Y")
cat ${log_files_path}${log_files_name} | grep ${date_g} >${log_files_dir}www_access_${date_l}.log
sed -i /${date}/d ${log_files_path}${log_files_name}
#delete 30 days ago nginx log files
find ${log_files_dir} -mtime +${save_days} -exec rm -rf {} \;
#重启nginx服务,否则不知道为什么,日志不再增长
/usr/local/webserver/nginx/sbin/nginx -s reload
|