1 at:一次性任务配置,其任务只能在指定的时间执行一次,前提是atd服务开启。
[[email protected] ~]# at 17:45 2017-05-30 #设置任务
at> ls / > a.txt
at> <EOT>
job 3 at 2017-05-30 17:45
[[email protected] ~]# atq #查看一次性任务
3 2017-05-30 17:45 a root
[[email protected] ~]# atrm 3 #删除任务
2 crontab:周期性任务配置,大大减轻了重复性系统管理任务的操作。对应的系统服务为crond。
2.1 crontab的配置文件和目录
/etc/crontab——系统任务配置文件,系统安装时自动设置,不建议修改。文件中设置了shell环境、可执行路径等变量操作。
/var/spool/cron/——用户计划任务的配置文件存放目录,文件名与用户相同。
[[email protected] cron]# ls -l /var/spool/cron/*
-rw-------. 1 root root 21 Apr 18 17:28 /var/spool/cron/zwj
2.2 使用crontab创建和管理计划任务
选项:-e 编辑计划任务列表
-u 指定任务计划属于哪个用户,通常是root用户编辑、删除其它用户的计划任务
-l 显示计划任务列表
-r 删除计划任务列表
[[email protected] cron]# crontab -e -u zwj #为用户zwj建立任务计划
*/2 * * * * /bin/ls / > /home/zwj/a.txt
[[email protected] cron]# crontab -l -u zwj #查看用户zwj的任务计划
[[email protected] cron]# crontab -l #查看当前用户的任务计划
no crontab for root
[[email protected] cron]# crontab -r #清除当前用户的所有计划任务
[[email protected] cron]# crontab -l -u zwj #清除zwj的计划任务,需root权限
附:计划任务的格式示例
基本格式 :
* * * * * command
分 时 日 月 周 命令
-:表示连续的时间范围,如“1-4”,表示 1,2,3,4
,:表示不连续范围,如“1,5,8”
/ :表示间隔频率,如日期段中的“*/3",表示每3天。
30 7 * * * /sbin/service sshd start #每天7:30启动sshd服务
0 0 */5 * * /bin/rm -rf /var/ftp/pub/* #每隔5天清空ftp公共目录
0 1 5,15 * * /sbin/service httpd restart #每月5号和15号1点重启httpd服务
0 1 5-15 * * /bin/rm -rf /var/ftp/pub/* #每月5到15号1点清空ftp公共目录
0 1 * * 6,7 /script/a.sh #每周六、日凌晨1点执行脚本
0 1-7/1 * * * /script/a.sh #每天1点到7点之间,每隔1小时执行脚本