2012-11-15 56 views
5

我正在尝试编写一个脚本来重命名和归档日志文件,但我无法弄清楚。下面是它应该如何工作的一个例子:如果你有一个名为error_log的文件,并且你第一次运行你的脚本,它应该将文件error_log重命名为error_log.1,然后用gzip将error_log.1归档。第二次运行脚本时,您将有两个文件:error_log和error_log.1.gz,现在您应该将error_log.1.gz重命名为error_log.2.gz; error_logerror_log.1,并再次使用gzip存档error_log.1error_log.1.gz用于归档日志文件的Bash脚本

回答

7

你在找什么叫logrotate,这是一个基本的Unix管理命令来旋转日志,如你所愿。

看到一个简单的配置文件的man 8 logrotate

实施例:

/var/log/apache/error_log { 
     daily 
     rotate 90  # keep only 90 logs 
     copytruncate # don't stop apps, but copy log 
     compress  # gzip log in *.gz 
}