Naylor

crontab简介

Linux crontab是用来定期执行程序的命令。

当安装完成操作系统之后,默认便会启动此任务调度命令。

crontab常用命令

  • crontab -e
    打开vi编辑器,编写一个定时任务,退出vi后,若vi内容不为空,则会创建一个任务。

  • crontab -l
    查看当前已经创建的定时任务

  • crontab -r
    删除当前用户创建的定时任务。一般删除定时任务不这样操作,而是使用crontab -e 命令打开任务,将任务内容清空,保存并退出之后,该任务就删除了。

  • tail -f /var/log/cron
    查看任务执行的日志

示例

创建两个定时任务。第一个,一分钟执行一次,使用echo输出一串字符;第二个,两分钟执行一次,使用echo输出另一串字符。

  • 创建任务

在linux 的shell 中输入crontab -e 命令

在打开的vi编辑器中输入以下内容:

* * * * *  echo "Once a minute"

*/2 * * * *  echo "Execute once every two minutes"


保存并退出

  • 查看刚才创建的定时任务

在linux 的 shell 中输入crontab -l 命令

能输出上述vi中的内容,说明任务创建成功

  • 查看任务执行日志

在linux的shell中输入tail -f /var/log/cron 命令

可以看到类似如下的输出:


Oct 14 20:28:01 v2 CROND[2764]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:28:01 v2 CROND[2765]: (root) CMD (echo "Once a minute")
Oct 14 20:28:01 v2 CROND[2762]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:28:01 v2 CROND[2763]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:28:06 v2 crontab[2853]: (root) LIST (root)
Oct 14 20:29:01 v2 CROND[3830]: (root) CMD (echo "Once a minute")
Oct 14 20:29:01 v2 CROND[3827]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:30:01 v2 CROND[4871]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Oct 14 20:30:01 v2 CROND[4875]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:30:01 v2 CROND[4876]: (root) CMD (echo "Once a minute")
Oct 14 20:30:01 v2 CROND[4870]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:30:01 v2 CROND[4869]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:31:01 v2 CROND[6010]: (root) CMD (echo "Once a minute")
Oct 14 20:31:01 v2 CROND[6009]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:32:01 v2 CROND[7043]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:32:01 v2 CROND[7044]: (root) CMD (echo "Once a minute")
Oct 14 20:32:01 v2 CROND[7041]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:32:01 v2 CROND[7042]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:33:01 v2 CROND[8130]: (root) CMD (echo "Once a minute")
Oct 14 20:33:01 v2 CROND[8129]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:34:01 v2 CROND[9158]: (root) CMD (echo "Once a minute")
Oct 14 20:34:01 v2 CROND[9159]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:34:01 v2 CROND[9157]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:34:01 v2 CROND[9156]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:35:01 v2 CROND[10255]: (root) CMD (echo "Once a minute")
Oct 14 20:35:01 v2 CROND[10254]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:36:01 v2 CROND[11251]: (root) CMD (echo "Once a minute")
Oct 14 20:36:01 v2 CROND[11250]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:36:01 v2 CROND[11249]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)

相关文章: