关于日志压缩的问题
这几天结果论坛,几个测试站点都能自动切割日志,但发现,日志还是有点大以下是军哥的编写,请问如何修改才能把切割的日志压缩掉呢?,也就是直接切割后压缩起来,
access-testA_20151226.log,这些的变成access-testA_20151226.log.zip或access-testA_20151226.log.gz格式呀。
有了压缩,空间才省出来。不然添加了自动监控,日志一天好几M
#!/bin/bash
#function:cut nginx log files for lnmp v0.5 and v0.6
#author: http://lnmp.org
#set the path to nginx log files
log_files_path="/home/wwwlogs/"
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#set nginx log files you want to cut
log_files_name=(access access-testA access-testB access-testC access-testD)
#set the path to nginx.
nginx_sbin="/usr/local/nginx/sbin/nginx"
#Set how long you want to save
save_days=30
############################################
#Please do not modify the following script #
############################################
mkdir -p $log_files_dir
log_files_num=${#log_files_name[@]}
#cut nginx log files
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name}.log ${log_files_dir}/${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log
done
#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} \;
$nginx_sbin -s reload mv 下面加上
cd ${log_files_dir}
gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log
标题
原帖由 licess 于 2015-12-27 17:10 发表 https://bbs.vpser.net/images/common/back.gifmv 下面加上
cd ${log_files_dir}
gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" ...
谢谢,明天看什么效果。
原来是CD进入目录
GZ压缩,RM删除呀
标题
原帖由 licess 于 2015-12-27 17:10 发表 https://bbs.vpser.net/images/common/back.gifmv 下面加上
cd ${log_files_dir}
gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" ...
谢谢,明天看什么效果。
原来是CD进入目录
GZ压缩,RM删除呀 原帖由 licess 于 2015-12-27 17:10 发表 https://bbs.vpser.net/images/common/back.gif
mv 下面加上
cd ${log_files_dir}
gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" ...
这样添加了,怎么没有压缩成功呢?结果是日志还是按原来的切割,然后目录下只生成了一个access_20151227.log.gz这样的大小为0的文件!
#cut nginx log files
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name}.log ${log_files_dir}/${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log
cd ${log_files_dir}
gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log
done
这样添加是不是错了? 手动运行切割脚本看看有什么信息 原帖由 licess 于 2015-12-28 14:44 发表 https://bbs.vpser.net/images/common/back.gif
手动运行切割脚本看看有什么信息
mv: cannot stat `/home/wwwlogs/access.log': No such file or directory
gzip: access_20151227.log: No such file or directory
access.log这文件有存在了的
gzip: access_20151227.log: No such file or directory
gzip: access_20151227.log: No such file or directory
连续出现了两次的信息,总共切割三个日志,进去目录一看,access_20151227.log.gz大小为0,access_20151227.log文件给删除了
如果我注释掉rm -f这一行,就三个日志都在,而且压缩了access_20151227.log.gz而已,其它的两个日志文件没压缩。目前就这情况,不知是怎么回事?
[ 本帖最后由 kkfgef 于 2015-12-28 15:29 编辑 ]
回复 7# 的帖子
cd ${log_files_dir}gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log cd ${log_files_dir}
gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log
这样就好了 原帖由 786259135 于 2015-12-30 08:45 发表 https://bbs.vpser.net/images/common/back.gif
cd ${log_files_dir}
gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
rm -f ${log_files_name}_$(date -d "yesterday" +"%Y%m%d"). ...
谢谢,改天测试一下
页:
[1]