我如何编写一个 cron 作业来每晚存档我的日志文件?

我如何编写一个 cron 作业来每晚存档我的日志文件?

我认为这相对容易,但是我的 shell 脚本编写能力不是很好,所以我希望得到一些帮助。

我有一个每小时运行一次的任务,并将其输出附加到日志文件中。我想每晚移动该日志文件,以便脚本有一个空文件可供使用,当我需要检查日志时,更容易查看日志。

所以我想要一个可以移动的脚本

/var/log/my.log

/var/log/my.log.2 或 my.log.yyyy.mm.dd 或其他。

我怎样才能轻松做到这一点?

答案1

你会想看看日志旋转几乎所有主流 Linux 发行版都默认安装了它(或者可以通过包管理器轻松安装)。编写一个简单的配置条目来轮换日志文件非常容易 - 您需要了解的有关配置选项的所有内容都位于该手册页中。

某些发行版使用特殊/etc/logrorate.d/目录来为每个日志文件(或相关日志文件组)指定单独的 logrotate 文件。如果您的发行版使用此方法,则只需在该目录中使用配置块创建一个适当命名的文件即可,如手册页中所述。

否则,您只需将新的配置块附加到现有文件的末尾即可/etc/logrotate.conf

相关内容