CentOS7设置定时任务

crontab:提供使用者控制计划任务的命令:crontab命令。

 

选项

-e:编辑该用户的计时器设置;

-l:列出该用户的计时器设置;

-r:删除该用户的计时器设置;

-u<用户名称>:指定要设定计时器的用户名称。

一.安装 crontabs服务并设置开机自启:

yum install crontabs

systemctl enable crond

# 启动cron

systemctl start crond

# 查看cond 状态 

service status crond

二.设置用户自定义定时任务:

vim /etc/crontab

可以看到以下界面,这是格式提醒

CentOS7设置定时任务_定时任务CentOS7设置定时任务_定时任务_02

CentOS7设置定时任务_定时任务_03

定时任务格式:* * * * * * commondCentOS7设置定时任务_定时任务

实例

每月每天每小时的第 0 分钟执行一次 /bin/ls

0 * * * * * *  /bin/ls

在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup

0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 lianxi@qq.come

0 17 * * 1-5 mail -s "hi" lianxi@qq.cin < /tmp/maildate

0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache

50 7 * * * /sbin/service sshd start 意思是每天750开启ssh服务

50 22 * * * /sbin/service sshd stop 意思是每天2250关闭ssh服务

0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘

1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件

00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

30 6 */10 * * ls 意思是每月的1112131日是的630执行一次ls命令

注意:当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

crontab的权限控制


/etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。

这两个控制文件的格式都是每行一个用户。两个文件都不允许有空格。

如果控制文件被修改了,cron守护进程 crond 不必重启。控制文件在每次用户添加或删除一项 cron 任务时都会被读取。


/etc/cron.allow 的优先级高于 /etc/cron.deny。

如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且cron.deny 文件会被忽略。

如果 cron.allow 文件不存在,所有在cron.deny 中列出的用户都被禁止使用 cron。