我想每小时创建一次 squid 日志文件,而不是每天创建。
我的日志文件大约有1GB。
是否可以每小时生成一次 access.log 文件?
答案1
除非您在 squid.conf 中禁用日志文件,否则 Squid 会写入许多日志文件。您必须定期轮换日志文件以防止它们占用过多的磁盘空间。Squid 非常重视日志文件,如果无法写入日志文件,则会退出并显示错误消息。要控制磁盘空间消耗,请在 cron 作业中使用以下命令:
squid -k rotate
例如,此 crontab 条目每 24 小时(凌晨 4 点)轮换一次日志:
#m h dom mon dow command
0 4 * * * /usr/local/squid/sbin/squid -k rotate
此命令执行两项操作。首先,它关闭当前打开的日志文件。然后,它通过附加数字扩展名来重命名 cache.log、store.log 和 access.log 文件。例如,cache.log 变为 cache.log.0,cache.log.0 变为 cache.log.1,依此类推,直到 logfile_rotate 选项的值。
Squid 仅保留每个日志文件的最后一个 logfile_rotate 版本。较旧的版本在重命名过程中被直接删除。如果您想保留更多副本,则需要增加 logfile_rotate 限制或编写一些自定义脚本将日志文件移动到其他位置。