#at 20:00
> echo `date` > tmp/date.txt #输入要执行的命令 按Ctrl+D结束
#at 20:00 2016:10:00
#at now+10min
[root@localhost ~]# at -l #at查询
4 Fri Dec 2 23:17:00 2016 a root
[root@localhost ~]# ll /var/spool/at/* #at实际存储路径 脚本
-rwx------ 1 root root 2459 Dec 2 23:20 /var/spool/at/a0000501788f42
at删除
atrm
[root@localhost ~]# at -l
5 Fri Dec 2 23:30:00 2016 a root
[root@localhost ~]# atrm 5
[root@localhost ~]# at -l
周期性计划任务
[root@localhost ~]# vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
[root@localhost ~]# ls /etc/cron*
/etc/cron.deny /etc/crontab
/etc/cron.d:
0hourly raid-check sysstat
/etc/cron.daily:
0yum-daily.cron logrotate man-db.cron mlocate
/etc/cron.hourly:
0anacron 0yum-hourly.cron
针对用户级别的计划任务
对于root 用户:
命令:
#crontab -e 创建一个计划任务
#crontab -l 显示
#crontab -r 删除计划任务
#crontab -e #写法
分 时 月 周 谁做后面的事情 命令
每个取值范围:
分: 0-59
时:0 -23
日:0-31
月:1-12
周:0-7 0 7 都是周日
57 20 * * * echo `date` > /tmp/date.txt
例如:
#9,18,22 这几天 3点 1分开始执行备份脚本
1 3 9,18,22 * * /usr/bin/back.sh
#9-18 这几天 3点 1分开始执行备份脚本
1 3 9-18 * * /usr/bin/back.sh
每5分钟执行一次
5 * * * * /usr/bin/back.sh
每天删除5天前的文件
1 1 * * * find /home/log/ -type f -mtime +5 -exec rm {} \;
使用root身份给其他用户指定crontab
语法: crontab -u USERNAME -e -l -r
anacron
cron 用控制循环执行例行性工作, 如果我要设定机器每早8点进行备份服务 除非我机器保证在8点这个时间点不会关机了 cron中的脚本 在下次开机将不会被执行
anacron 并没有取代cron的意思 anacron用于 机器重启后 会侦测停机期间 有没有cron没有执行的计划任务 如果有会立即执行以下没有执行的任务