以下消息会无休止地转储到服务器日志中。这限制了 logwatch 的实用性。有没有办法修复问题或关闭这些消息?降低 smb.conf 中的日志级别似乎不会减少这些消息:
6 月 9 日 14:28:37 xxx nmbd[5627]: 无法找到工作组 MYGROUP 的域主浏览器名称 MYGROUP<1b> +。6 月 9 日 14:28:37 xxx nmbd[5627]: 无法同步此工作组中的浏览列表。6 月 9 日 14:43:37 xxy nmbd[5627]: [2011/06/09 14:41:08, 0] +nmbd/nmbd_browsesync.c:350(find_domain_master_name_query_fail)
答案1
除了显而易见的答案之外:修复问题并停止日志记录:)
您可以使用一种肮脏的黑客手段让 syslog 写入 fifo(参见 mkfifo(1)),然后让某个程序从该 fifo 读取数据并写入日志文件,但这是真实的骯髒的騙子。
这是一个肮脏的黑客行为,但不算太过分。我讨厌在后台运行的守护进程从 fifo 读取数据。我会使用 syslog-ng,而不是你正在使用的标准 syslog(可能是 rsyslog)。
syslog-ng 的学习难度有点大,但确实值得一试。指令如下:
destination samba-log { program "/usr/local/bin/samba-ignore.sh"; };
然后编写一个小的 shell 脚本 /usr/local/bin/samba-ignore.sh 从 STDIN 读取并忽略(即 grep -v)您想要的行并输出到 /var/log/samba.log 或类似文件。
就我个人而言,我会尽一切努力阻止它记录该特定问题,包括查找源头并找出问题所在,甚至包括推出我自己的 RPM 并进行修复。但我有强迫症 ;)
答案2
此链接[http://lists.samba.org/archive/samba/2001-April/026763.html建议设置本地主人和首选主人选择“是”来结束该消息,但是这些已经在 smb.conf 中设置了。