out.log文件和error.log文件大小超过

时间:2015-06-01 11:09:32

标签: linux crontab logrotate

包含在cronjob中的以下行。

18,36,54 * * * * /usr/bin/perl  /home/folder.my_perl.pl >> out.log 2>> error.log

error.log文件将写入所有错误并将out.log文件写入所有输出语句。 我想知道,如果两个文件的大小超过那么,系统会自动创建另一个文件,还是我们必须手动维护它?

2 个答案:

答案 0 :(得分:0)

你必须手动维护它#34;文件系统没有任何管家机制可以监控正在创建的文件的大小/年龄。

您可以使用logrotate来简化管理。这是一个通常配置为由cron调用的程序(如果你有一个名为/etc/cron.daily的脚本,则检入logrotate),但也可以手动调用(/usr/sbin/logrotate /etc/logrotate.conf)。

答案 1 :(得分:0)

您正在做的只是在程序启动之前向这些文件打开文件描述符1和2。它不知道输出的去向,因此在以这种方式调用它时,它无法管理它的输出。

你可以:

  1. 让程序打开文件并管理它们的大小,
  2. 将输出通过管道传输到另一个独立管理大小的小脚本,
  3. 使用Sys::Syslog
  4. 使用Log::Dispatch::FileRotate
  5. 或任意数量的其他日志记录模块。