定时任务:cron


创建一个每分钟在 ~/test.txt 文件中写入 Goodbye World 的计划

  • 增加一个定时计划 $ crontab -e
  • 进入默认的编辑器,插入 * * * * * echo "Goodbye World" >> ~/test.txt


原理

cron 由 crond守护进程 和 一组表 [ crontab 文件] 组成

  • crond 进程 :系统启动时,init进程启动 crond 进程并监视,在其消失时重启启动。该进程每分钟唤醒一次,检查 crontab 文件来判断需要做什么。如果有任务, crond 会 fork 出子进程执行具体任务
  • crontab 文件:每个用户有一个以用户名命名的 crontab 文件,位于/var/spool/cron/ 目录下。若管理员允许或者禁止其他用户拥有crontab文件,则应编辑/etc/下面的cron.deny和cron.allow这两个文件来禁止或允许用户拥有自己的crontab文件。每一个用户都可以有自己的crontab文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。

crontab格式

定时任务:cron_第1张图片
crontab格式.jpg

第五位:0表示Sunday, 1 表示 Monday, 依次类推

特殊符号:

  • * : 代表取值范围内的数字
  • / : 代表 "每"
  • - : 代表从某个数字到某个数字
  • , : 分开几个离散的数字

eg :
*/15 * * * * ls // 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令]
25 8-11 10,12 * * ls //每月10号和12号的8到11点第25分钟执行ls命令,

常用命令

crontab相关命令:

  • 查看 crontab -l
  • 编辑 crontab -e
  • 删除 crontab -r

crond相关命令:

  • 启动 /sbin/service crond start
  • 关闭 /sbin/service crond stop
  • 重启 /sbin/service crond restart
  • 重新载入 /sbin/service crond reload

偷个懒

在线Cron表达式生成器

你可能感兴趣的:(定时任务:cron)