crontab使用方法

匿名 (未验证) 提交于 2019-12-02 23:57:01

cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。

service crond start    //启动服务 service crond stop     //关闭服务 service crond restart  //重启服务 service crond reload   //重新载入配置 service crond status   //查看服务状态
/var/spool/cron/crontabs   #这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名。

crontab (选项) (参数)

-e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该用户的计时器设置; -u<用户名称>:指定要设定计时器的用户名称。

crontab文件:指定包含待执行任务的crontab文件。可以不指定,默认是/var/spool/cron/crontabs/下名字为当前用户名的文件。

# For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # |     .------------- hour (0 - 23) # |     |   .---------- day of month (1 - 31) # | |   |   .------- month (1 - 12) OR jan,feb,mar,apr ... # |     |   |   |   .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # |     |   |   |   | # * *   *   *   *   command 

其中
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如
/10,如果用在minute字段,表示每十分钟执行一次。

* * * * * command
3,20 * * * * command
20 3-20 * * * command
20 3-20 */2 * * command

20 3-20 * * 1 command

通过设置两个定时任务可以实现每一个半小时的定时任务。在设定时两个任务的开始时间刚好错开90分钟,每个任务每3小时执行一次即可。

20 0-23/3 * * * command 50 1-23/3 * * * command
  • 注:两个任务中command为同一个脚本或命令
guoew@ubuntu:/etc/cron.daily$ crontab  -e crontab: installing new crontab "/tmp/crontab.FLUGtP/crontab":23: bad minute errors in crontab file, can't install. Do you want to retry the same edit? (y/n) 

仔细查看上面保存会发现在第23行分钟的格式设置不正确,修改为正确格式即可。

定时任务不生效原因可能存在下面三种情况:

  1. 定时任务格式或command本身语法不正确
  2. command 没有执行权限
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!