一次性计划任务
使用命令at
没有这个命令要安装包
yum insatll -y at
启动服务并设置开机自启动
systemctl start atdsystemctl enable atd
定义一个具体的时间
at "10:40 -03-04"
-l查看
-r 删除
-c job_id(为-l 里面的id) 查看对应的文件内容
任务文件地址
在/var/spool/at/目录下
执行完就会删除
其他的时间定义方式
例子
at now + 1 day一天后at now + 1 min一分钟后at now + 1 hours1小时后at 20:00 -9-30在某天某时at 17:00 tomorrow 明天下午5点执行at 6:00 pm + 3 days 在三天后的下午6点执行
在输入过程中的键盘操作
ctrl + backspace 删除ctrl + d 完成
周期性任务
启动服务并设置开机自启动
systemctl start crondsystemctl enable crond
crontab -e -u user_name
-e 编辑
-u 指定用户(root才可以-u)(没有指定就是当前用户)
-l 查看
-r 删除所有
任务定义的格式
* * * * *command 分钟 时 日 月星期命令
小技巧:分时日月星
*/时间间隔(每隔多久) 例:*/2*代表取值范围内的所有数字(任意/每)/指定时间的间隔频率例:*/10每十分钟-代表某个数字到某个数字例:1-18,分开几个零散的数字例:6,10-13,20
例子:
每隔两分钟执行*/2****command 每一天两点1分开始备份:12***tar zcvf /opt/grub2.tar.gz/boot/grub2每天晚上21:00 重启apache021***systemctl restart httpd每月1、10、20日的2 : 45重启apache。20 2 1,10,20 * * systemctl restart httpd每月1到10日的2 : 45重启apache。20 2 1-10 **systemctl restart httpd每隔两天的上午8点到12点的第3和第15分钟重启apach3,15 8-12 */2 * * systemctl restart httpd晚上11点到早上7点之间,每隔一小时重启apach0 23-7/1 * * *systemctl restart httpd
注意:
定义星期就不要定义日月,日月就为*
定义日月就不要定义星期,星期就为*
删除:
删除某个周期计划任务,用crontab -e 编辑,删除对应的内容就行
任务地址
ls /etc/cron按两下tab键注: cron.d/#是系统自动定期需要做的任务,但是又不是按小时,按天,按星期,按月来执行的,那么就放在这个目录下面。cron.deny#控制用户是否能做计划任务的文件;cron.monthly/#每月执行的脚本;cron.weekly/#每周执行的脚本;cron.daily/#每天执行的脚本;cron.hourly/#每小时执行的脚本;crontab#主配置文件 也可添加任务;
周期性任务执行完是不会删除的 crontab不支持每秒的任务
查看日期
cal显示日历
cal 年份()显示该年的日历
cal 月名(june)显示该月的日历