据我了解,Linux 内核会记录到/proc/kmsg文件(主要是与硬件相关的消息)和/dev/log套接字吗?还有其他地方吗?其他应用程序是否也能够向/proc/kmsg或发送消息/dev/log?最后但并非最不重要的,我是正确的,这是系统日志守护程序(rsyslog现在,syslog-ng的),该检查的消息来自这两个地方,然后分发到那些像各种文件/var/log/messages或者/var/log/kern.log甚至是中央系统日志服务器?
在 FreeBSD 中有一个实用程序来支持循环日志文件,称为clog。
这对于避免维护某些服务(在 systemd 和它们的 journald 之外)的日志非常有趣。
在 linux 和/或 rsyslog 中是否有其他方法可以做同样的事情?
我真的很难理解logrotate在我自己的 shell 文件中运行命令时是如何工作的,以及它是如何工作的。
有问题的命令是:
rclone -L -vv --log-file "/home/mike/tmp/qqq.log" sync "/media/mike/W10 D drive/My Documents/" remote:MyDocuments_M17A_from_Linux
Run Code Online (Sandbox Code Playgroud)
我想要什么:
我希望经常检查这个 qqq.log 文件,比如每 10 分钟一次,看看它是否超过了给定的大小,比如 1 MB。如果有,旋转文件。rclone使用该-vv选项会故意产生大量输出(即尝试理解让 logrotate 为这个用例工作)。
有一个适度有用的教程在这里,但它仍然让我在黑暗中:
您打算如何配置来自您自己的非系统进程的日志轮换?你的意思是在底部贴线/etc/logrotate.conf吗?这就是我所做的(在“#system-specific logs may be configured here”下):
/home/mike/tmp/qqq.log {
notifempty
size 1M
daily
create 0664 root root
rotate 3
}
Run Code Online (Sandbox Code Playgroud)
后来:我现在意识到您也可以放入单个文件/etc/logrotate.d- 没有太大的复杂性。
是不是默认情况下logrotate每天只运行一次,凭借文件/etc/cron.daily/logrotate?
这是否意味着如果我想要更频繁的检查,我可能应该设置一个cron作业来执行此操作,每 10 分钟运行一次(在本例中)?
你打算以logrotate <config file>root身份运行吗?我问这个问题是因为我以 root 和用户身份都尝试过。用户似乎没有工作。
指向此类设置的初学者指南的链接(这很常见)会有所帮助。我已经搜索过,但我发现的大部分内容都没有为您提供分步指南。