我正在尝试管理本地脚本生成的日志。这些日志只是重定向到本地文件的 stdout 和 stderr。我没有 root 权限,尝试以本地用户身份使用本地配置文件运行 logrotate 时出现错误:
Ignoring /home/user/customlogfile because the file owner is wrong (should be root).
Handling 0 logs
是否可以以本地用户身份运行 logrotate?
答案1
我正在尝试管理本地脚本生成的日志。这些日志只是重定向到本地文件的 stdout 和 stderr。
logrotate
那么您一开始就不需要。
获取以下一项或多项:
- 丹·伯恩斯坦的
multilog
(从守护进程工具), 或者 - 布鲁斯·冈特的
multilog
(从daemontools-encore), 或者 - Laurent Bercot 的
s6-log
(从s6), 或者 - Gerrit Pape 的
svlogd
(从运行), 或者 - 韦恩·马歇尔的
tinylog
(从罪犯), 或者 - 我的
cyclog
(来自小吃)。
并以正常方式通过管道将脚本标准输出和标准错误发送到它们的标准输入。
它们将在您指定的目录中写入一组自动循环、可按需轮换、严格限制大小的日志,而无需任何额外的日志轮换程序。它们都不需要任何超级用户权限。(事实上,根本不需要或期望超级用户权限这是最佳实践在它们最广为人知的用例中,记录守护进程输出,以在非特权帐户下运行它们。)