我是在CentOS Linux服务器上托pipe我的VPS的新手。
以下日志文件的增长非常迅速,我希望每24小时删除它们:
/home/httpd/tanguay.info/stats/tanguay.info-custom_log /home/httpd/tanguay.info/stats/tanguay.info-error_log /home/admin/__processed_stats/*
我要创build一个cron作业,每天晚上在午夜删除所有这些文件的步骤是什么?
不build议立即清除日志文件,因为日后可能需要日志文件进行debugging,统计或跟踪入侵。 虽然在场外的日志传送可能会在单个VPS场景中矫枉过正,但是比单纯删除这些更好。
我build议你看看logrotate或cronolog(可能在CentOS上可用的包)。 使用这些软件包,您可以设置规则如何在(通常)每天处理日志文件,例如:保留一周的日志值,但压缩除了今天的所有日志文件。
您还可以减less发送到日志的信息。 您可以将其设置为仅logging错误而不是信息,警告和错误。 只是一个build议。 如果您想删除日志,请确保它们仍未被使用。 像其他人所build议的那样轮换你的日志文件。 他们通常会在一段时间后被压缩和删除。
Logrotate是最好的方法。 在任何情况下,您都需要将HUP信号发送到httpd,否则您的日志文件句柄将保持打开状态,您的文件系统将被填满,但不会反映在文件的大小上。
每天凌晨1点清空文件,您可以使用:
0 1 * * * :> /home/httpd/tanguay.info/stats/tanguay.info-custom_log 0 1 * * * :> /home/httpd/tanguay.info/stats/tanguay.info-error_log 0 1 * * * for i in `ls /home/admin/__processed_stats/`; do :> $i; done
但好的方法是使用logrotate
您可能还想看看: 日志轮换工具,只保留指定数量的日志,并放弃其他一切和Apache访问日志轮换