Linux 用于归档日志文件的Bash脚本
我试图写一个脚本,将重命名和归档日志文件,但我就是不明白它。下面是一个它应该如何工作的示例:如果您有一个名为error_log的文件,并且您第一次运行脚本,它应该将文件error_log重命名为Linux 用于归档日志文件的Bash脚本,linux,bash,unix,Linux,Bash,Unix,我试图写一个脚本,将重命名和归档日志文件,但我就是不明白它。下面是一个它应该如何工作的示例:如果您有一个名为error_log的文件,并且您第一次运行脚本,它应该将文件error_log重命名为error_log.1,然后使用gzip归档error_log.1。第二次运行脚本时,您将有两个文件:error_log和error_log.1.gz,现在您应该将error_log.1.gz重命名为error_log.2.gzerror\u log到error\u log.1并再次使用gzip将erro
error_log.1
,然后使用gzip归档error_log.1
。第二次运行脚本时,您将有两个文件:error_log和error_log.1.gz
,现在您应该将error_log.1.gz
重命名为error_log.2.gz
error\u log
到error\u log.1
并再次使用gzip将error\u log.1
存档到error\u log.1.gz
。您要查找的是名为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
}