普通用户和root用户都可执行
一、循环执行
1、crond服务管理与访问控制
system restart crond (默认激活)
system status crond 查看状态
2、用户的crontab设置
crontab [选项]
选项:
#进入crontab编辑界面。会打开vim编辑你的工作,若要删除其中一个任务,进入删除即可。
* * * * * 执行的任务
项目
|
含义
|
范围
|
第一个“*”
|
一小时当中的第几分钟
|
0-59
|
第二个“*”
|
一天当中的第几小时
|
0-23
|
第三个“*”
|
一个月当中的第几天
|
1-31
|
第四个“*”
|
一年当中的第几月
|
1-12
|
第五个“*”
|
一周当中的星期几
|
0-7(0和7都代表星期日)
|
时间
|
含义
|
45 22 * * * 命令
|
在22点45分执行命令
|
0 17 * * 1 命令
|
每周1的17点0分执行命令
|
0 5 1,15 * * 命令
|
每月1号和15号的凌晨5点0分执行命令
|
40 4 * * 1-5 命令
|
每周一到周五的凌晨4点40分执行命令
|
*/10 4 * * * 命令
|
每天的凌晨4点,每隔10分钟执行一次命令
|
0 0 1,15 * 1 命令
|
每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。
|
特殊符号
|
含义
|
*
|
代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
|
,
|
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
|
-
|
代表连续的时间范围。比如“0 5 * * 1-6 命令”,代表在周一到周六的凌晨5点0分执行命令
|
*/n
|
代表每隔多久执行一次。比如“*/10 * * * *命令”,代表每隔10分钟就执行一遍命令
|
二、单次执行
1、at的启动
systemctl restart atd (默认激活)
systemctl status atd (查看状态)
2、at运行的方式
以文本文件的方式写入到/var/spool/at/目录
3、命令形式
at [-mldv ] TIME
at -c 工作号码(创建时左侧会显示号码)
参数:
-m
|
当at完成工作之后,即使没有输出信息,以email形式通知用户已经运行
|
-l
|
列出目前系统上该用户的at调度
|
-d
|
取消一个at的调度
|
-v
|
可以使用较明显的时间格式列出at调度中任务列表
|
-c
|
可以列出后面接的该项工作实际命令内容
|
限制用户使用
- 可以使用/etc/cron.allow 与 /etc/cron.deny (/etc/at.allow与/etc/at.deny)这两个文件限制用户使用
- 先寻找/etc/cron.allow (/etc/at.allow)这 个文件,如果用户存在这个文件,可以使用,
如果不在,不能使用(即使没有写在/etc/cron.deny (/etc/at.deny)中)
- 如果/etc/cron.allow (/etc/at.allow)不存在,就寻找/etc/cron/deny (/etc/at.deny)这个文件,如果用户存在这个文件,不可使用,如果不在,可以使用
- 如果两个文件都不存在,那么只有root可使用
- 注意:一般默认有空的/etc/cron.deny (/etc/at.deny),代表所有用户都能使用,一个用户一行