题目描述
配置 cron 作业
配置 cron 作业,该作业每隔 2 分钟运行并执行以下命令:logger "EX200 in progress"
, 以用户 natasha
身份运行。
核心命令
systemctl start crond.service systemctl status crond.service systemctl enable crond.service crontab -u [用户名] -e */2 * * * * [命令] 分 时 天 月 星期 命令
操作过程
首先使用如下命令启动 Crond 任务定时调度程序:
systemctl start crond.service
接着,查看 Crond 任务定时调度程序的运行状态,只要执行如下命令之后能返回 active (running)
, 则表明 Crond 已正常启动:
systemctl status crond.service
为防止 Crond 任务定时调度程序在系统开机后不会自动启动,我们还需要执行如下命令将 Crond 设置为开机自启动:
systemctl enable crond.service
之后,我们使用 crontab
命令编辑用户 natasha
的时程表配置文件:
crontab -u natasha -e
注:
①
-u natasha
表示该时程是作用于用户natasha
的;②
-e
表示调用默认的文本编辑器编辑时程表。
接着,再打开的用户 natasha
的时程表中,写入如下内容,即表示每隔 2 分钟运行并执行一次 logger "EX200 in progress"
命令:
*/2 * * * * logger "EX200 in progress"
注:
① 时程表配置文件的格式如下:
f1 f2 f3 f4 f5 [program] - - - - - | | | | | | | | | +-- 星期几 (0-6) (星期日为 0) | | | +------ 月份 (1-12) | | +---------- 一个月中的第几天 (1-31) | +-------------- 小时 (0-23) +------------------ 分钟 (0-59)
· 其中
f1
是表示分钟,f2
表示小时,f3
表示一个月份中的第几日,f4
表示月份,f5
表示一个星期中的第几天。[program]
表示要执行的程序。· 当
f1
为*
时表示每分钟都要执行[program]
,f2
为*
时表示每小时都要执行[program]
, 其余参数以此类推;· 当
f1
为a-b
时表示从第a
分钟到第b
分钟这段时间内都要执行[program]
,f2
为a-b
时表示从第a
到第b
小时这段时间内都要执行[program]
, 其余参数以此类推;· 当
f1
为*/n
时表示每隔n
分钟执行一次[program]
,f2
为*/n
时表示每隔 n 小时执行一次[program]
, 其余参数以此类推;· 当
f1
为a, b, c,...
时表示第a, b, c,...
分钟要执行[program]
,f2
为a, b, c,...
时表示第a, b, c...
个小时要执行[program]
, 其余参数以此类推;·
f1 f2 f3 f4 f5
可以简单记为:“分 时 日 月 星期”。
至此,我们就完成了本题。