檢查 cron 是否在 Linux 上工作的 4 種方法

檢查 cron 是否在 Linux 上工作的 4 種方法

cron 是 Linux 和類 Unix 操作系統的作業調度程序。它預裝在所有 Linux 發行版上,最適合自動執行重複性任務。

要使 cron 正常運行,您必須定期檢查該實用程序是否在您的系統上正常運行。您可以使用四種不同的方式來做到這一點,包括檢查 cron 服務狀態、檢查 cron 日誌、運行測試 cron 作業以及列出系統上正在運行的進程。

什麼是 cron?

靜默作業處理程序 cron 會自動執行和安排系統任務。配置和維護軟件環境的用戶使用 cron 來安排命令或 shell 腳本等作業(也稱為 cron 作業)以固定時間或間隔定期運行。

cron 自動執行您可能需要經常執行的系統維護或管理任務。

如何檢查 cron 是否在 Linux 上工作

以下是您可以檢查 cron 是否正常工作的一些方法:

方法一:在Linux上查看cron服務狀態

檢查 cron 是否正常工作的一種方法是通過運行基本的 Linux 命令檢查 cron 服務的狀態。按Ctrl + Alt + T打開 Linux 終端並使用 systemctl 命令檢查 cron 的狀態:

sudo systemctl status cron

如果您看到以下輸出,這意味著 cron 處於活動狀態並且在您的系統上運行良好。

ubuntu終端上顯示的cron狀態

但是,如果 cron 處於非活動狀態,如下所示怎麼辦?

cron 服務在 ubuntu 上停止

您可以像這樣啟動服務:

sudo service cron start

啟動 cron 服務後,啟用它,以便在每次系統重新啟動時啟動它:

sudo service cron enable

方法二:在Linux上查看cron日誌

檢查 cron 是否正常工作的另一種方法是檢查日誌文件。cron 日誌存儲在Linux 上的/var/log/syslog目錄中。

syslog 是 Linux 系統用來集中事件數據日誌的協議。然後訪問日誌以執行審計、監控、故障排除、報告和其他必要的 IT 操作任務。

您可以通過執行以下命令在 syslog 文件中查看 cron 作業日誌:

grep CRON /var/log/syslog

您將看到類似的輸出,表明 cron 運行正常並且其日誌存儲在日誌文件中:

ubuntu 終端上顯示的 cron 日誌

由於 syslog 文件夾包含其他系統日誌以及 cron 日誌,因此僅檢查文件中與 cron 相關的日誌可能有點棘手。您可以通過創建一個單獨的日誌文件來解決此問題,該文件僅存儲出現在 syslog 文件中的 cron 條目。

為此,請使用 nano 編輯器打開以下文件:

nano /etc/rsyslog.d/50-default.conf

找到以以下內容開頭的行:

#cron.*

通過刪除哈希 ( # ) 符號取消註釋此行。然後,按Ctrl + X保存並退出文件,然後按Y並按Enter

通過發出以下命令重新啟動 rsyslog 服務:

sudo service rsyslog restart

您現在將在位於/var/log目錄的cron.log文件中收到日誌。

如果您的終端無法獲取任何日誌,則可能意味著 cron 未運行。在這種情況下,請使用其他方法確認 cron 是否正在運行。

方法 3:在 Linux 上運行 cron 作業

您還可以通過簡單地創建測試 cron 作業並執行它來檢查 cron 是否正常工作。如果作業成功執行任務,則意味著它運行良好。

您首先需要創建一個 Bash 腳本。Bash 腳本允許您在 Linux 上自動執行日常任務。

讓我們創建一個 Bash 腳本來打印“my cronjob is working!” 成一個TXT文件。要創建文件,首先,使用以下命令找出您當前的工作目錄:

pwd

使用 touch 命令在當前目錄中創建一個文件:

touch file.txt

在此之後,使用 nano 創建一個 Bash 文件:

nano script.sh

將以下內容添加到文件中:

#! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt

為 cronjob 創建的 bash.sh 腳本

確保提供您創建的文本文件的正確位置。按Ctrl + X保存並退出文件,然後按Y,然後按Enter

授予 Bash 腳本執行權限:

chmod +x script.sh

現在創建一個 cron 作業來執行腳本。為此,請使用以下命令打開 crontab 文件:

crontab -e

在文件末尾輸入以下行。

* * * * * /path/to/script.sh

五個星號對應執行時間,第一個星號代表分鐘,第二個星號代表小時,第三個星號代表日,第四個星號代表月,最後一個星號代表年。

文件中還提到了可執行文件的名稱及其路徑。

保存並關閉文件後,您將在終端上看到一條“ crontab: installing new crontab ”消息。

要檢查 cron 作業是否有效,請轉到file.txt目錄並使用 cat 在終端上打印其內容:

cat file.txt

顯示文本文件內容的 ubuntu 終端

這表明 cron 工作正常。

方法 4:檢查 Linux 上正在運行的進程

檢查 cron 守護程序是否正常工作的另一種方法是列出系統上正在運行的進程。您可以使用 ps 命令實現此目的。cron 守護進程將在輸出中顯示為 crond。

ps -ef | grep crond

ubuntu 終端顯示 crond 進程正在運行

這確認 cron 進程正在您的 Linux 系統上運行。

使用 cron 自動執行和安排系統任務

cron 是 Linux 上最重要的實用程序之一,可讓系統高效運行。有時您在排除系統問題時必須檢查 cron 是否正常工作。

您可以通過檢查 cron 日誌或查看系統上正在運行的進程來實現此目的。您還可以使用 systemctl 實用程序檢查 cron 狀態。除此之外,運行測試 cron 作業還可以告訴您服務是否正在運行。

cron 的平穩運行使您可以自動執行和安排日常系統作業。大多數 cron 作業都是由已安裝的應用程序自動創建的。自動化和調度任務可以提高整體系統性能並保持健康。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *