计划任务
一次性的计划任务
循环性计划任务
一次性的计划任务
安装软件:
#yum install at -y
启动服务:
- # systemctl start atd.service
- # systemctl status atd.service
- # systemctl enable atd.service
创建计划任务:
- # at 11:00
- at> rm -rf /tmp/*
- at> <EOT> //ctrl+d
- job 1 at Fri Dec 15 11:00:00 2017
查看:
- # at -l
- 2 Fri Dec 15 11:05:00 2017 a root
- # cat /var/spool/at/a000030180daa8
删除计划任务:
方式 1
# at -r 3
-r 工作号 // 删除 3 是工作号
方式 2
# atrm 3
方式 3
直接删除文件
at 后面各种时间写法:
#man at
循环性计划任务:
用户级别
系统级别
安装软件
yum -y install crontabs
启动服务
- rhel5/6:
- /etc/init.d/crond status
- # /etc/init.d/crond start
- rhel7:
- # systemctl start crond.service
- # systemctl status crond.service
- # systemctl enable crond.service
开机启动 (rhel5/6)
#chkconfig crond on
创建计划任务: 用户级别的计划任务
#crontab -u 用户 -e
-u 指定用户 默认不写就是 root
#crontab -e
配置分两部分 拿空格分开
第一部分: 时间
分钟 小时 日 月 周
范围 0-59 0-23 1-31 1-12 0-7
上面的时间范围可以查看 man 手册: #man 5 crontab
各种时间写法:
- 5 10
- 5 10 8
- 1 5 7 5
- 1,5,9
- 8-12
- 5-20,40
- 8-12,20-25
- /5 *
ps: * 表示每...
, 取不同的时间点
表示范围
*/5 每 5 分钟
第二部分: 动作
把上面规定的时间要执行的命令写在这里, 当然包括脚本 (最常用), 命令最好要写绝对路径
查看计划任务: 两种方法
1)#crontab -l
-u 用户名 查看某一个账户的计划任务
2)#cat /var/spool/cron/root
计划任务删除: 两种方法
1)# crontab -r -u wing
-r 删除
-u 指定用户
- #crontab -e -u tom
- 2)# rm -f /var/spool/cron/root
计划任务的权限控制
#cat /etc/cron.deny
如果这个文件存在, 凡是写到这个文件里面的账户不允许执行 crontab 命令
#cat /etc/cron.allow
如果这个文件存在, 没有写到这个文件里面的账户不允许执行 crontab 命令
如果有 allow 文件, 那不管 deny 是否存在, 都是只允许 allow 文件里面的用户
at 也有权限控制 (用法跟 crontab 一样,/etc/at.allow /etc/at.deny)
系统级别的计划任务:
- # ls /etc/cron
- cron.daily/ cron.hourly/
- cron.d/ cron.monthly/ cron.weekly/
- # cat /etc/anacron
来源: http://www.bubuko.com/infodetail-2743817.html