存档2021年1月21日

定时任务处理

如果发现您的系统里没有这个命令,请安装下面两个软件包.
vixie-cron
crontabs

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

crontab在/etc目录下面存在cron.d,cron.daily,cron.weekly,cron.monthly,cron.hourly五个目录和crontab文件。

cron.d是系统自动定期需要做的任务,但是又不是按小时,按天,按星期,按月来执行的,那么就放在这个目录下面。

如果是按小时,按天,按星期,按月的来执行的话,则可以放到相应的目录下面去。
cron.hourly是每个小时执行一次的任务
cron.daily是每天执行一次的任务
cron.weekly是每个星期执行一次的任务
cron.monthly是每月执行一次的任务

常用参数:
crontab -l //查看当前用户下的cron任务
crontab -e //编辑当前用户的定时任务
crontab -u linuxso -e //编辑用户linuxso的定时任务
安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查看cron是否运行 ps -ef | grep cron
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -l

具体用法和格式:
基本格式 :
        *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

例子
crontab -e
添加这一句
15 2 * * * reboot
然后重启:/etc/init.d/cron restart

通过man crontab可以查看到下面的信息
(1)/etc/crond.allow 表示的是允许使用crontab的用户列表
(2)/etc/crond.deny 表示的是不允许使用crontab的用户列表