VPS侦探论坛

 找回密码
 注册
查看: 4934|回复: 9

关于日志压缩的问题

[复制链接]
发表于 2015-12-27 16:23:06 | 显示全部楼层 |阅读模式

这几天结果论坛,几个测试站点都能自动切割日志,但发现,日志还是有点大
以下是军哥的编写,请问如何修改才能把切割的日志压缩掉呢?,也就是直接切割后压缩起来,
access-testA_20151226.log,这些的变成access-testA_20151226.log.zip或access-testA_20151226.log.gz格式呀。
有了压缩,空间才省出来。不然添加了自动监控,日志一天好几M
  1. #!/bin/bash
  2. #function:cut nginx log files for lnmp v0.5 and v0.6
  3. #author: http://lnmp.org

  4. #set the path to nginx log files
  5. log_files_path="/home/wwwlogs/"
  6. log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
  7. #set nginx log files you want to cut
  8. log_files_name=(access access-testA access-testB access-testC access-testD)
  9. #set the path to nginx.
  10. nginx_sbin="/usr/local/nginx/sbin/nginx"
  11. #Set how long you want to save
  12. save_days=30

  13. ############################################
  14. #Please do not modify the following script #
  15. ############################################
  16. mkdir -p $log_files_dir

  17. log_files_num=${#log_files_name[@]}

  18. #cut nginx log files
  19. for((i=0;i<$log_files_num;i++));do
  20. mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
  21. done

  22. #delete 30 days ago nginx log files
  23. find $log_files_path -mtime +$save_days -exec rm -rf {} \;

  24. $nginx_sbin -s reload
复制代码
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2015-12-27 17:10:21 | 显示全部楼层


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
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2015-12-27 22:26:33 | 显示全部楼层

标题


原帖由 licess 于 2015-12-27 17:10 发表
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" ...


谢谢,明天看什么效果。
原来是CD进入目录
GZ压缩,RM删除呀
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2015-12-27 22:26:35 | 显示全部楼层

标题




原帖由 licess 于 2015-12-27 17:10 发表
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" ...


谢谢,明天看什么效果。
原来是CD进入目录
GZ压缩,RM删除呀
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2015-12-28 11:39:26 | 显示全部楼层

原帖由 licess 于 2015-12-27 17:10 发表
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的文件!
  1. #cut nginx log files
  2. for((i=0;i<$log_files_num;i++));do
  3. mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
  4. cd ${log_files_dir}
  5. gzip -c ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log.gz
  6. rm -f ${log_files_name}_$(date -d "yesterday" +"%Y%m%d").log
  7. done
复制代码

这样添加是不是错了?

军哥运维代购:http://shop63846532.taobao.com/

发表于 2015-12-28 14:44:16 | 显示全部楼层

手动运行切割脚本看看有什么信息
 楼主| 发表于 2015-12-28 15:14:03 | 显示全部楼层

原帖由 licess 于 2015-12-28 14:44 发表
手动运行切割脚本看看有什么信息

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 编辑 ]
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2015-12-28 19:42:09 | 显示全部楼层

回复 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
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2015-12-30 08:45:44 | 显示全部楼层

  1. cd ${log_files_dir}
  2. gzip -c ${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log > ${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log.gz
  3. rm -f ${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
复制代码



这样就好了

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2015-12-30 16:46:57 | 显示全部楼层



原帖由 786259135 于 2015-12-30 08:45 发表
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"). ...

谢谢,改天测试一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-28 17:22 , Processed in 0.028665 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表