PowerScale OneFS:如何编辑 Crontab
Summary: Crontab 是用于任务计划和任务自动化的实用程序。
Instructions
程序
查看 crontab 文件中包含空格。
运行相应的命令以查看群集范围的 c(包括来自本地节点的添加内容) crontab 文件。
对于群集范围:
cat /etc/crontab
仅对于本地节点 crontab 其他条目(添加到 /etc/crontab 仅在特定节点上):
cat /etc/local/crontab.local
cron 作业,适用于 TreeDeleteThe /etc/local/crontab.local 必须创建文件。有关详情,请参阅以下内容。
OneFS 会生成 /etc/crontab 文件通过组合默认模板 /etc/mcp/override/crontab 和 /etc/local/crontab.local。下面显示了 crontab 条目的示例。
#minute hour mday month wday who command # # Nightly Health check update 0 1 * * * root /usr/bin/isi_healthcheck_update -s
下表说明了列标题:
|
标题名称 |
允许的值 |
允许的特殊字符 |
|---|---|---|
|
分钟 |
0-59 |
|
|
小时 |
0-23 |
|
|
mday |
每月的某一天,1-31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
此表介绍了特殊字符:
|
特殊字符 |
定义 |
|---|---|
|
|
星号用于表示 |
|
|
斜杠用于描述范围的增量。例如: |
|
|
在命令中,百分比符号将变为换行符。 |
|
|
逗号用于分隔列表中的项目。例如 THU, FRI, SAT。 |
|
|
连字符用于定义范围,例如 200-205。 |
|
|
代表“last”。与 day-of-week 字段一起使用,指定结构体,例如“上一个星期五”为 5L。 |
|
|
用于 day-of-month 字段,指定最接近给定日期的工作日。例如,14W 是离 14 日最近的工作日。 |
|
|
用于 day-of-week 字段,后跟一个 1 到 5 的数字以指定结构体,例如给定月份的第二个星期一。 |
|
|
代替 *,用于将 day-of-month 或 day-of-week 字段留空。 |
/etc/crontab 文件中,将提供有关在何处添加条目或进行自定义更改的说明。The /etc/local/crontab.local 文件和 R /etc/mcp/override/crontab 文件最初由用户创建,因此没有说明。
编辑 crontab 文件。
应尽可能使用客户端和 API 在群集上执行计划作业。直接添加 crontab 条目应是最后的手段,并且必须经过验证,以免造成中断、不稳定或以其他方式影响群集。
如果需要自定义 cronjobs,请首先与您的客户团队讨论以创建功能请求。
/etc/crontab 不得直接编辑文件。
向此文件添加条目或修改条目必须在
/etc/mcp/override/crontab 适用于群集范围的文件和 /etc/local/crontab.local 对于本地节点。
Crontab 条目
/etc/mcp/override/crontab 文件(群集范围)和 /etc/local/crontab.local 在更新期间保留。
如果 /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
使用 isi_ropc in 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 文件中包含空格。
类似于以下内容的输出将显示在输出底部:
tail -n 50 /etc/crontab # X: ---------------- # X: OVERRIDE# X: This section contains user changes which will be # X: preserved between product versions. It is # X: populated from the contents of the file # X: /etc/mcp/override/crontab # X: ---------------- # 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
将更改恢复到 crontab 文件,请执行以下操作:
这些步骤将 crontab.local 文件更新到在上一部分中创建的备份版本。
- 打开
SSH在群集中的任意节点上打开 SSH 连接,并使用“root”帐户登录。 - 运行以下命令以拷贝并重命名
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。