一、计划任务管理 —— crontab
1. crontab 命令
• 按照预先设置的时间周期(分钟、小时、天…… )重复执行用户指定的命令操作,属于周期性计划任务,默认打开“/var/spool/cron/用户”文件
• 服务脚本名称:/etc/init.d/crond
• 主要设置文件
– 全局配置文件,位于文件:/etc/crontab
– 系统默认的设置,位于目录:/etc/cron.*/
– 用户定义的设置,位于文件:/var/spool/cron/
2. 管理cron 计划任务
• 编辑计划任务:crontab -e [-u 用户名]
• 查看计划任务:crontab -l [-u 用户名]
• 删除计划任务:crontab -r [-u 用户名]
3. crontab 任务的配置格式
分钟 小时 日期 月份 星期 run_command
字段 |
说明 |
分钟 |
取值为从0 到59 之间的任意整数 |
小时 |
取值为从0 到23 之间的任意整数 |
日期 |
取值为从1 到31 之间的任意整数 |
月份 |
取值为从1 到12 之间的任意整数 |
星期 |
取值为从0 到7 之间的任意整数,0 或7 代表星期日 |
命令 |
要执行的命令或程序脚本 |
4. 时间数值的特殊表示方法
• * 表示该范围内的任意时间
• , 表示间隔的多个不连续时间点
• - 表示一个连续的时间范围
• / 指定间隔的时间频率
5. 示例(root 用户)
• 每天早上 7:50 自动开启 sshd 服务, 22 点 50 时关闭
• 每隔 5 天清空一次 FTP 服务器公共目录 /var/ftp/pub
• 每周六的7:30 时,重新启动httpd 服务
• 每周一、三、五的17:30 时,打包备份/etc/httpd 目录
[root@drz ~]# crontab -e
50 7 * * * /sbin/service sshd start 50 22 * * * /sbin/service sshd stop 0 * */5 * * /bin/rm -rf /var/ftp/pub/* 30 7 * * 6 /sbin/service httpd restart 30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd
|
二、计划任务管理 —— at
1. at 命令
• 在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务
• 服务脚本名称:/etc/init.d/atd
• 设置格式:at [HH:MM] [yyyy-mm-dd]
2. atq 命令
• 用途:查询当前设置的at 任务 列表
3. atrm 命令
• 用途:删除指定任务编号的at 任务
• 格式:atrm 编号
4.示例
[root@drz ~]# service atd start ##启动atd系统服务
[root@drz ~]#
[root@drz ~]# at 21:00
at> shutdown -h now
at> <EOT> ##Ctrl+d 提交
job 1 at 2017-02-24 21:00
[root@drz ~]# atq ##查看任务
1 2017-02-24 21:00 a root
[root@drz ~]# atrm 1 ##删除任务