计划任务
计划任务主要分为两种:1、循环执行 2、单次执行
一、循环执行
1、crond服务管理与访问控制
systemctl status crond
#查看crond服务状态
2、用户的crontab设置
crontab [选项]
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
crontab -e
#进入crondtab编辑界面。 会打开vim编辑你的工作
* * * * * 执行的任务
分时日月周 (每个*所代表的含义) 范围
第一个'*' 表示一小时当中的第几分钟 0-59
第二个‘*’ 表示一天中的第几个小时 0-23
第三个‘*’ 表示一个月中的第几天 1-31
第四个‘*’ 表示一年当中的第几个月 1-12
第五个‘*’ 表示一周当中的星期几 0-7
特殊符号:
* 代表任何时间,比如第一个‘*’就代表一小时中每分钟都执行一次的意思
, 代表不连续的时间。 比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如“0 5 * * 1-6 命令” 代表在周一到周六的凌晨5点0分执行命令
*/n 代表每个多久执行一次。比如“*/n * * * * 命令”,代表每隔10分钟就执行一遍命令
二、单次执行
1、at的启动
systemctl status std
#查看atd服务的状态
2、at运行的方式
at -[mldv] time (写入你要让它执行的时间)
#输入你要执行的命令,然后按ctrl+d退出
-m 当at完成工作后,即使没有输出信息,以email形式通知用户已经运行
-l 列出目前系统上该用户的at调度
-d 取消一个at的调度
-v 可以使用较明显的时间格式列出at调度中任务列表
-c 可以列出后面接的该项工作实际命令内容
3、限制形式
白名单:/etc/cron.allow /etc/at.allow
黑名单:/etc/cron.deny /etc/at.deny
补充:上面两个文件实现的效果相同
首先,寻找/etc/at.allow 这个文件,如果用户存在这个文件,可以使用,如果不在,不能使用(即使没有写在at.deny中)
其次,如果/etc/at.allow不存在,就寻找/etc/at.deny 这个文件,如果用户存在这个文件,不可使用,如果不在,可以使用。
如果两个文件都不存在,那么只有root可使用
补充:一般默认有空的at.deny ,代表所有用户都能使用,一个用户一行