Linux + 如何自动压缩旧的日志文件

yae*_*ael 6 linux tar zip compression

/var/log/httpd文件夹下,创建的文件容量巨大!!!

我可以使用什么解决方案来自动压缩旧文件(可以logrotate处理这个问题)?

如果是,如何配置Linux机器以压缩该文件夹下的旧文件?

第二个问题:这些文件的含义是什么?

  13:16:50 root@BillGates-Machine:/var/log/httpd # ls -ltr
  -rw-r--r-- 1 root root      7612 Jan 30 05:51 ssl_error_log-20160131
  -rw-r--r-- 1 root root  16170199 Jan 31 03:29 ssl_request_log-20160131
  -rw-r--r-- 1 root root  14677353 Jan 31 03:29 ssl_access_log-20160131
  -rw-r--r-- 1 root root 425621646 Jan 31 03:38 access_log-20160131
  -rw-r--r-- 1 root root     77267 Jan 31 03:38 error_log-20160131
  -rw-r--r-- 1 root root     11233 Feb  7 03:43 ssl_error_log-20160207
  -rw-r--r-- 1 root root  16398688 Feb  7 03:44 ssl_request_log-20160207
  -rw-r--r-- 1 root root  14867381 Feb  7 03:44 ssl_access_log-20160207
  -rw-r--r-- 1 root root 471057664 Feb  7 03:48 access_log-20160207
  -rw-r--r-- 1 root root    101611 Feb  7 03:48 error_log-20160207
Run Code Online (Sandbox Code Playgroud)

zag*_*san 10

logrotate可以压缩它旋转的文件,但是当应用程序写入的日志文件名不是静态的时它不能很好地工作(就像这里的情况,由于文件名中的日期后缀)。如果您重新配置HTTP服务器(Apache的?),所以它不包括日期后缀(即它只会写access_logerror_log等等)logrotate都可以使用。这是如何像这样配置它的示例解决方案。

这是另一个相关问题,如果您希望保留日志文件命名方案,它也有一个解决方案。它不使用 logrotate 而是为作业使用自定义脚本。

简而言之,这些文件的含义是

  • access_log:成功的普通 HTTP 请求
  • error_log:导致错误的普通 HTTP 请求
  • ssl_request_log:成功的HTTPS请求
  • ssl_error_log:导致错误的HTTPS请求

(当然,您的配置可能会偏离该逻辑)