如何將所有 cron 輸出發送到系統日誌而不是電子郵件

如何將所有 cron 輸出發送到系統日誌而不是電子郵件

我正在運行 cron 來-m off停止它發送電子郵件,然後該-s選項應該將所有輸出發送到系統日誌。

Cron 命令列是

crond -s -m off

我測試這個的 cron 工作是

* * * * * root /bin/echo hello

我看到的/var/log/cron

Jun 17 17:06:01 www08 CROND[4165]: h<FF>

基本上我得到的只是第一個字符h,然後<FF>

如果我將 cron 作業更改為

* * * * * root /bin/echo world

然後我得到第一個字元w然後<FF>

最終,我所追求的是一種將 cronjobs 的所有輸出記錄到系統日誌中的方法,以便我可以使用我們的日誌警報系統來管理它們。

我不想修改所有的 cron 作業,因為有些是從 rpm 套件自動放置的,而有些則是由不同部門放置的。我正在尋找一個解決方案,可以一勞永逸地解決這個問題,而不是不斷地附加2>&1 | logger -t myscriptname到 100 台機器上每個 cron 作業的末尾

答案1

該修復現已向後移植,可用於 CentOS 6 -https://pkgs.org/centos-6/centos-updates-x86_64/cronie-1.4.4-16.el6_8.2.x86_64.rpm.html。 Tim 幹得好,向紅帽報告了這件事!

答案2

找到了。 centos 6 中的版本有一個錯誤,該錯誤已於 4 年前修復,但尚未被 Redhat 向後移植。

https://www.fedorahosted.org/cronie/ticket/8

將建立我自己的修訂版。

答案3

您可以使用 -x 運行 crond 進行調試並看看它是否有幫助?我嘗試使用相同的 crond 選項運行相同的作業,它對我來說效果很好。我用的是Centos7。您也嘗試過使用“你好”。

相關內容