除了 syslog 之外,Linux 服务/守护程序文件记录最佳实践是啥? [关闭]
Posted
技术标签:
【中文标题】除了 syslog 之外,Linux 服务/守护程序文件记录最佳实践是啥? [关闭]【英文标题】:What is Linux service/daemon file logging best practice apart from syslog? [closed]除了 syslog 之外,Linux 服务/守护程序文件记录最佳实践是什么? [关闭] 【发布时间】:2019-08-15 04:27:21 【问题描述】:我觉得syslog确实是一个不错的服务选择。
除了 syslog,还有其他的文件记录最佳实践吗?
将文件直接写入/tmp
或/var/log
合适吗?
【问题讨论】:
很多服务直接写日志文件。几乎所有这些都允许您使用命令行参数更改日志路径。您编写服务所用的语言与此无关。 【参考方案1】:阅读logging best practice。有可能引起过于固执的答案的问题将被关闭。
将文件直接写入
/tmp
或/var/log
可用合适吗?
/tmp
的一组通用权限:
drwxrwxrwt root root /tmp
所以,可用,是的,但适当的,不,不适用于日志。 /tmp
经常在重启时被清除。
/var/log
的一组通用权限:
drwxr-xr-x. root root /var/log
因此,通常只有root
进程可以在那里创建文件。其他进程需要提前安装一个日志文件和logrotate
d - 或者有一个具有允许进程所有者在其中创建文件的权限的子目录。
如果您的系统使用journald,则使用它可能更合适,而不是像Linux Logging with Systemd 中所述创建自己的日志文件。
编辑:由于最初的问题在编辑之前部分是关于编程语言的,我将在此处留下这个注释:
是否使用 syslog 与语言的选择无关。如果您有 syslog 服务,它可以被任何语言编写的程序使用。
【讨论】:
【参考方案2】:我发现在/var/log
中创建折叠后,比如/var/log/myprocess/
。注意/var/log
属于root
,我使用chown
所以/var/log/myprocess/
属于我。
所以我的进程可以直接在/var/log/myprocess/
中创建和写入文件,比如/var/log/myprocess/process-log-2019-08-15.log
。
【讨论】:
嗯,这就是我在回答中所写的,所以我希望不用太长时间就能找到答案:-) @TedLyngmo 你的回答很好,谢谢!以上是关于除了 syslog 之外,Linux 服务/守护程序文件记录最佳实践是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
python [Python中的虚拟守护进程]一个虚拟守护进程,除了睡眠之外什么都不做,对于测试systemd和其他服务管理器非常有用#python #daemon