PowerScale OneFS:如何編輯 Crontab

Summary: Crontab 是用於工作排程和工作自動化的公用程式。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

程序

檢視 crontab 檔案。

執行適當的命令以檢視叢集範圍的 crontab 檔案或本機節點 crontab 檔案。

針對叢集範圍:
cat /etc/crontab
針對本機節點 crontab:
cat /etc/local/crontab.local
 
注意:針對本機節點 cron 工作,這適用於下列工作: TreeDelete/etc/local/crontab.local 必須建立檔案。請參考下面更多詳細資訊。

OneFS 會產生 /etc/crontab 檔案中所定義。範例 crontab 項目會顯示於下方。
#minute hour    mday    month   wday    who     command
#
# Nightly Health check update

0       1       *       *       *       root    /usr/bin/isi_healthcheck_update -s


下表說明欄標題:

標題名稱

允許的值

允許的特殊字元

minute

0-59

* / ,

hour

0-23

* / ,

mday

一月內的某天,1-31

* / , ? L W

month

1-12

* / ,

wday

一週內的某天 (0-6,週日 =0)

* / , ? L W

who

權限群組,例如 root

N/A

command

要執行的指令

N/A


此表說明特殊字元:

特殊字元

定義

*

使用星號代表 cron 表示式符合欄位的所有值。因此,對於月份欄位,將指示每個月。

/

斜線用於說明範圍的增量。例如,minutes 的 3-59/15 代表該小時的第三分鐘,以及之後的每 15 分鐘。

%

百分比符號在命令中變更為換行字元。

逗號用於分隔清單內的項目。例如,THU, FRI, SAT

-

連字元用於定義範圍,例如 200-205。

L

代表「最後」。搭配一週內的某天欄位進行指定,例如「最後一個星期五」為 5L。

W

用於一月內的某天欄位,以指定最接近指定日期的週間日。例如,14W 代表最接近該月 14 日的週間日。

#

用於一週內的某天欄位,之後連接介於 1 到 5 的數字以進行指定,例如特定月份的第二個星期一。

?

用於取代 *,將一月內的某天或一週內的某天保留空白

 
注意:在頂部 /etc/crontab 檔,給出了有關在何處添加條目或進行更改以進行自定義的說明。可使用 /etc/local/crontab.local 檔案和 /etc/mcp/override/crontab 檔案是使用者建立的,因此沒有指示。


編輯 crontab 檔案。

 
注意:可使用 /etc/crontab 不能直接編輯檔。
新增項目或修改項目至此檔案必須在 /etc/mcp/override/crontab 叢集範圍的檔案和 /etc/local/crontab.local 用於本地節點。
Crontab 項目在 /etc/local/crontab.local 檔案無法在 OneFS 升級後繼續存在,但是 /etc/mcp/override/crontab 檔將被保留。

如果 /etc/local/crontab.local 檔案不存在,請使用以下命令建立:
touch /etc/local/crontab.local
同樣,如果 /etc/mcp/override/crontab 檔案不存在,請使用以下命令建立:
touch /etc/mcp/override/crontab
 
注意:在編輯本機 crontab 檔案之前,請備份檔案,以便在必要時可以還原:
cp /etc/local/crontab.local /etc/local/crontab.local.backup

可以透過執行以下命令直接新增項目:
vi /etc/local/crontab.local
同樣:
vi /etc/mcp/override/crontab
貼上或鍵入所需的條目,如以下範例所示:

要添加 treedelete.sh 每天晚上 11 點執行:
0     23     *     *     *     root     /bin/sh     /ifs/data/Scripts/treedelete.sh

注意:條目之間的空格是使用 Tab 鍵創建的。星號表示 cron 運算式符合欄位的所有值。在前面的示例中,它將是每月的每一天,一年中的每個月,一周中的每一天。


使用 isi_ropc 在「crontab」項目中

新增 isi_ropc 對於 crontab 條目,每個版本的每個群集最多運行一次傳遞的命令,無論它在多少節點上運行。如果沒有標誌,這將允許命令在具有最低 DevID 的節點上運行。或者,新增 -s 標誌會在 隨機 節點上運行該命令。範例項目如下:
# rotate log files on /ifs, too -- one node per cluster at a time
15,45   *       *       *       *       root    isi_ropc newsyslog -f /etc/newsyslog.ifs.conf


將多個項目新增至一個 crontab 檔案。

如果 crontab 檔需要來自另一個檔的多個條目,請附加作業條目。此範例在其中 path_to_file_with_entries 是包含要匯入的項目的檔案:
cat /ifs/<path_to_file_with_entries> >> /etc/local/crontab.local

驗證在 crontab 檔案中所定義。

確認這些項目已附加到 crontab 檔案:
tail /etc/local/crontab.local
tail /etc/crontab
隨即會顯示類似以下內容的輸出:
tail /etc/crontab
# X: ----------------

# X: LOCAL

# X: This section contains entries local to this node

# X: only. This section is populated from the contents of

# X: the file /etc/local/crontab.local if it exists.

# X: ----------------

0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh

tail /etc/local/crontab.local

0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh


還原對 crontab 檔案的變更:

這些步驟會還原 crontab.local 檔案轉換為在上一節中創建的備份版本。
  1. 在叢集的任何節點上開啟 SSH 連線,然後使用 root 帳戶登入。
  2. 執行下列命令複製並重新命名原始備份 crontab.local 檔案:
cp /etc/local/crontab.local.backup /etc/local/crontab.local

Additional Information

在 OneFS 9.5 之前, /etc/mcp/override/crontab.smbtime 用於通過升級保留條目。
此後已確定從 OneFS 9.5 及更新版本開始使用 /etc/mcp/override/crontab 而不是 /etc/mcp/override/crontab.smbtime.

Affected Products

Isilon, PowerScale OneFS

Products

Isilon
Article Properties
Article Number: 000022081
Article Type: How To
Last Modified: 17 Sep 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.