我的問題是如何找到一個特定的cron工作?如何查找特定的cron作業?
我有一個每天在我的網絡/電子郵件服務器上運行的cron作業,我確信它存在,因爲我每天都會收到一封電子郵件。這是一個LetsEncrypt SSL證書更新。現在我想修改它,但我無法在任何地方找到它。
(編輯:感動「的事情,我已經試過」從這裏到答案)
我的問題是如何找到一個特定的cron工作?如何查找特定的cron作業?
我有一個每天在我的網絡/電子郵件服務器上運行的cron作業,我確信它存在,因爲我每天都會收到一封電子郵件。這是一個LetsEncrypt SSL證書更新。現在我想修改它,但我無法在任何地方找到它。
(編輯:感動「的事情,我已經試過」從這裏到答案)
請問您的網絡/電子郵件服務器已經得到了部署在集裝箱任何服務? 檢查'docker ps'的輸出並查看是否有任何正在運行的相關網絡/電子郵件服務。連接到這些實例並找到cron條目(如果有的話)。
感謝您的幫助,但它沒有容器。 –
檢查進程列表,看看是否有'ps aux | grep defunct'的殭屍進程 – sasubillis
Cron作業是用戶特定的或系統範圍的。您可以通過運行以下命令根列表中的所有用戶的用戶特定cron作業:
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done
(source)
如果它沒有找到,它可能是一個系統範圍的cron作業,它位於以下之一文件夾:
etc/crontab
etc/cron.d
etc/cron.daily
etc/cron.hourly
etc/cron.monthly
etc/cron.weekly
嘗試運行:grep -rnw '/etc/' -e 'keyword'
此命令可以列出你的內心/etc/
包含你正在尋找的關鍵字的所有文件因爲它可能會列出你無關的文件。
在我的情況下,LetsEncrypt證書更新的工作竟然是在etc/crontab
,我以爲我已經與crontab -e
已經檢查,但事實證明它們是不同的:crontab -e
是用戶特定cron作業,而etc/crontab
是系統廣泛的cronjobs。這也是當我列出所有用戶的所有cron作業時,這個cron作業沒有出現的原因。
你在'/ var/spool/cron /'中搜索了嗎? –
是的,我做到了。它不在那裏。 –
也許檢查你的日誌,找到你的特定的cron行 –