linux crontab 定时任务执行

Posted wangshaowei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux crontab 定时任务执行相关的知识,希望对你有一定的参考价值。

cron机制
        cron可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制

crontab参数
        -u:这个参数可以让我们去编辑其他人的crontab,如果没有加上这个参数的话就会开启自己的crontab

/etc/crontab文件和crontab -e命令区别

1、格式不同

前者

# 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
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

后者

#50 1 * * *  command

2、使用范围

修改/etc/crontab这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等,
crontab -e这种所有用户都可以使用,普通用户也只能为自己设置计划任务。然后自动写入/var/spool/cron/usename
3.服务重启
 1 /etc/init.d/crond restart
 2 service crond restart

1、crontab 会进行语法检查,vi 不会

2、听说有些 os 的 crond 不会重读配置,所以用 service 重启

crontab -e是某个用户的周期计划任务;/etc/crontab是系统的周期任务

1. crontab -e 与 /etc/crontab 修改语法格式不一样,后者多一个 user 指定

2. 不管用 crontab -e or 改 /etc/crontab 都不需要重新启动 crond 服务

01 22 * * * /sbin/shutdown -h now
执行的结果都是一样, 一般LINUX 都用shutdown -h now 也可以init 0
init 0在UNIX用得比较多,

关机需要root的身份在可以执行,
lz可以选取方法操作
方法1
换到root 的身份
su - root
crontab -e (按a增加下)
01 22 * * * /sbin/shutdown -h now   (或01 22 * * * /sbin/init 0)
保存退出即可以

方法2 vi /etc/crontab 在里面插入
01 22 * * * root   /sbin/shutdown -h now
或 01 22 * * * root   /sbin/init 0

 

另注:cron是命令的名称 crontab是配置cron启动文件的命令

以上是关于linux crontab 定时任务执行的主要内容,如果未能解决你的问题,请参考以下文章

如何让linux定时任务crontab按秒执行

linux定时任务

linux定时执行任务crontab命令用法

Linux下的crontab定时执行任务命令详解

linux crontab定时任务调用CI框架PHP代码

linux使用cron怎么设置定时任务