
我在 bash 腳本中使用 arp-scan 來驗證主機是否可存取。我將腳本設定為每分鐘運行一次的 cron 作業,並且 /var/log/syslog 充滿了 arp-scan 輸出。
我嘗試過 -q 和 --quiet,但沒有發現它對命令列輸出或系統日誌訊息有任何影響。該標誌在 arp-scan 1.6 上是否損壞?
還有其他方法可以阻止系統日誌訊息嗎?
我意識到這不是世界末日(每分鐘只有兩行),但如果可能的話,我寧願不在那裡看到它。
以下行出現在 /var/log/syslog 和 /var/log/messages 中:
Jul 16 08:28:01 debian arp-scan[9428]: Starting: arp-scan 192.168.1.1 -I eth0
Jul 16 08:28:01 debian arp-scan[9428]: Ending: 1 hosts scanned in 0.150 seconds (6.67 hosts/sec). 1 responded
Jul 16 08:28:01 debian arp-scan[9440]: Starting: arp-scan 192.168.1.6 -I eth0
Jul 16 08:28:02 debian arp-scan[9440]: Ending: 1 hosts scanned in 0.165 seconds (6.06 hosts/sec). 1 responded
這是我的腳本的 cron 行:
* * * * * root /root/monitor
更新
我嘗試同時附加 > /dev/null 和 2>&1 /dev/null ,但都沒有停止 arp-scan 輸出。
解決方案
在 /etc/rsyslog.conf 中放置以下過濾器:
#
# Don't log arp-scan output
#
:programname, isequal, "arp-scan" ~
答案1
如果您使用 rsyslogd,您應該能夠編寫一個過濾器來刪除它,如圖所示這裡。
答案2
如果您想要防止 arp-scan 的迴聲,只需將錯誤傳遞到 /dev/null 即可將所有輸出提供給 /dev/null 並重新啟動作業序列。