计划任务服务crond

什么是计划任务服务

crond是Linux系统中用于设置周期性被执行的任务的工具,它是一个在后台运行的程序(守护进程),主要负责根据预先设定的时间表自动执行脚本或命令。这些任务可以包括定时重启、运行计划的备份、监视磁盘空间、定期删除不再需要的文件(例如日志文件)、运行系统维护任务等。通过crond,用户可以方便地执行临时文件清理、系统信息采集、日志文件切割、服务器时间同步、定时备份等任务。

相关命令与语法

启用、停用或者查看该守护进程

  • 启动crond服务: systemctl start crond
  • 停止crond服务: systemctl stop crond
  • 重启crond服务: systemctl restart crond
  • 查看crond服务状态: systemctl status crond

编辑与查看crontab文件

  • 编辑当前用户的crontab文件:crontab -e
  • 列出当前用户的crontab任务:crontab -l
  • 删除当前用户的crontab任务:crontab -r

除开以上方案,我们也可以直接进入crontab配置文件进行编辑和查看,每个使用了crond的用户都会在cron目录下建立默认与自己同名的crontab配置文件,我们可以用以查看这台机器都有谁拥有自己的计划任务。如下图所示:

crontab文件格式

crontab文件的每一行代表一项任务,包含六个字段,分别代表分钟、小时、日期、月份、星期几和要执行的命令。字段之间用空格分隔,具体格式如下:

0 2 * * * /run.sh   # 每天的2点
0 2 14 * * /run.sh  # 每月14号2点
0 2 14 2 * /run.sh  # 每年2月14号2点
0 2 * * 5 /run.sh   # 每个星期5的2点
0 2 * 6 5 /run.sh   # 每年6月份的星期5的2点
0 2 2 * 5 /run.sh   # 每月2号或者星期5的2点   星期和日同时存在,那么就是或的关系
0 2 2 6 5 /run.sh   # 每年6月2号或者星期5的2点

*/5 * * * * /run.sh # 每隔5分钟执行一次
0 2 1,4,6 * * /run.sh   # 每月1号,4号,6号的2点
0 2 5-9 * * /run.sh     # 每月5-9号的2点

* * * * * /run.sh       # 每分钟
0 * * * * /run.sh       # 每整点
* * 2 * * /run.sh       # 每月2号的每分钟

其中,星号(*)表示任意值,可以使用逗号(,)表示多个值,使用连字符(-)表示范围,使用斜杠(/)表示步长。

预配置的计划任务

系统提供了一些快捷目录,任务文件放入后会自动按周期执行:

  • /etc/cron.hourly/:每小时执行
  • /etc/cron.daily/:每天执行
  • /etc/cron.weekly/:每周执行
  • /etc/cron.monthly/:每月执行

crond日志

有关计划任务的日志,我们都会存放于/var/log/cron文件中。当crond无法正常执行或者需要查看crond日志时,我们可以使用这个日志文件进行查看。如下图所示:

crond用户黑白名单

默认情况下,cron会在/etc目录下自动创建cron.deny文件,这个文件就是crond的黑名单文件,所有在列的用户名都不可使用crond服务。如下所示:

而白名单cron.allow则默认不存在,需要用户自己创建于deny文件相同的目录下(默认为/etc下)。需要注意的是,一旦allow文件被创建则deny文件失效。如下所示:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇