Linux

crontab 命令未執行

  • January 10, 2016

來自為什麼我的 crontab 不工作,我該如何排除故障?我仍然不知道為什麼我的命令沒有執行。

我對 root 和 www-data 有相同的命令

在此處輸入圖像描述

我的 cron 日誌顯示每分鐘執行一次 cron

在此處輸入圖像描述

但是,我從來沒有得到 /tmp/crontest.log 文件。我注意到這個問題是因為我想製作 wordpress 外部 cron(執行 php 文件)。

當然,從命令行執行該命令是有效的。

有小費嗎?

您的crontab文件有錯誤的換行符 - 它有輸入符 (CR)/換行符 (LF) 結尾。您可以在第一個螢幕截圖中看到這一點,[dos]文件名後面有一個。Unix 系統期望行僅由換行符終止,而 Windows 系統使用輸入/換行對。

有幾種方法可以糾正這種情況。正如您似乎熟悉的那樣vi,我建議LF 替換 CR/LF。只需編輯您的crontab,然後進行搜尋和替換。

  1. dos2unix 命令可以將文件中的 DOS CR/LF 字元轉換為正確的 LF。可能比在編輯器中亂搞更容易。
  2. 根據您的編輯器,它也可能不會在最後一行留下尾隨 LF。一些 cron 實現仍然無法執行 crontab 文件中的最後一個命令,除非最後以 LF 字元終止。

引用自:https://serverfault.com/questions/705202