定时任务
at 这个工作仅执行一次
cron 这个工作将按照约定持续例行工作下去
at
服务开启
/etc/init.d/atd restart
开机自动启动
chkconfig --level 35 atd on
利用 /etc/at.allow 和 /etc/at.deny 进行at的使用限制
- at -l 列出at排程
- at -d 取消一个at工作
- at -c 显示出工作的实际内容
- atq 查询当下有多少计划任务
- atrm 对任务进行删除
举例
at now +1 minutes
at > echo "1111"
Ctrl + d
//时间设置可以为
// tomorrow 明天
//now + 现在之后的多久 可表示单位为 minutes 、hours、days、weeks
//HH:MM 指明具体的时间
Crontab
服务启动
/etc/init.d/crond restart | service crond start
利用 /etc/cron.allow 和 /etc/cron.deny 进行at的使用限制
crontab -u username [-e -l -r]
- -u 只有root才能进行这个任务
- -e 编辑定时任务
- -l 查询定时任务
- -r 删除所有定时任务
crontab -e 命令编辑
\* * * * * command
\* 分 时 日 月 周
当周为0或者7时,都为周天的意思
时间符号表示规则
- * 代表任何时刻 如 * 1 * * * 即为每天的1点的每分钟
- , 代表分隔的意思 0 3,6 * * * 即代表每天的3点和6点
- - 代表一段时间范围 0 3-6 * * * 即代表每天的3点到6点
- /n 代表的是间隔 /5 2 * * * 即代表每天2点每隔五分钟
系统的例行任务(常用)
cron 这个服务最低限制时间是分钟,所以cron会每分钟去读取一次/etc/crontab与/var/spool/cron中的内容
vim /etc/crontab
/etx/crontab头部中应添加
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
01 * * * * * root run-parts /etc/Cron.hourly ###该任务是以目录来规划每小时会运行目录下的所有可执行**脚本**
01 02 * * * root echo "1111" > 1.txt ###该任务是直接下达命令
注意
- 可以在/var/log/cron 中通过日志查看任务运行情况
- 定时任务中周与日月不可共存,否则会发生运行错误
- 如果有某定时任务存在大量输出,可以将其输出打印发送至垃圾站 /dev/null