Linux 计划任务
1.计划任务:at一次性计划任务。
(1)/etc/init.d/atd status #查看at命令是否开启。
(2)yum -y install at #安装at命令
命令:
- # 一次性计划任务。
- 命令:at 09:14 /回车
- at> 命令 /回车
- at>ctrl+d
- # 查看当前计划任务的个数。
- 命令:at –l
- # 查看计划任务详情。-d 删除。
- 命令:at –c 数字
格式 month day(月 日) mm/dd/yy(月/日/年) dd.mm.yy(日.月.年) minutes(分钟) hours(小时) days(天) weeks(星期) today(今天) tomorrow(明天)
-f:指定包含具体指令的任务文件; -q:指定新任务的队列名称; -l:显示待执行任务的列表; -d:删除指定的待执行任务; -m:任务执行完成后向用户发送E-mail。
三天后的下午 5 点锺执行/bin/ls: [root@localhost ~]# at 5pm+3 days at> /bin/ls at> <EOT> job 7 at 2013-01-08 17:00 明天17点钟,输出时间到指定文件内: [root@localhost ~]# at 17:20 tomorrow at> date >/root/2013.log at> <EOT> job 8 at 2013-01-06 17:20 计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务: [root@localhost ~]# atq 8 2013-01-06 17:20 a root 7 2013-01-08 17:00 a root 删除已经设置的任务: [root@localhost ~]# atq 8 2013-01-06 17:20 a root 7 2013-01-08 17:00 a root [root@localhost ~]# atrm 7 [root@localhost ~]# atq 8 2013-01-06 17:20 a root 显示已经设置的任务内容: [root@localhost ~]# at -c 8 #!/bin/sh # atrun uid=0 gid=0 # mail root 0 umask 22此处省略n个字符 date >/root/2013.log
2.计划任务:crontab 周期性计划任务。
(1)/etc/init.d/crond status #查看crond命令是否开启。
(2)/var/spool/cron/root #计划任务存放路径
命令:
- # 周期性计划任务,“*”代表“每”。“1-5”周一到周五。“1,2,3”周一周二周三执行。“*/5”每五分钟执行一遍。
- 命令:crontab -e /回车 分 时 日 月 周 命令 /回车
- # 查看用户有哪些计划任务。-r删除计划任务。
- 命令:crontab -l
-e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该用户的计时器设置; -u<用户名称>:指定要设定计时器的用户名称。
每1分钟执行一次command * * * * * command 每小时的第3和第15分钟执行 3,15 * * * * command 在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * * command 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * command 每个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 command 每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 每月1、10、22日的4 : 45重启smb 45 4 1,10,22 * * /etc/init.d/smb restart 每周六、周日的1:10重启smb 10 1 * * 6,0 /etc/init.d/smb restart 每天18 : 00至23 : 00之间每隔30分钟重启smb 0,30 18-23 * * * /etc/init.d/smb restart 每星期六的晚上11:00 pm重启smb 0 23 * * 6 /etc/init.d/smb restart 每一小时重启smb * */1 * * * /etc/init.d/smb restart 晚上11点到早上7点之间,每隔一小时重启smb * 23-7/1 * * * /etc/init.d/smb restart 每月的4号与每周一到周三的11点重启smb 0 11 4 * mon-wed /etc/init.d/smb restart 一月一号的4点重启smb 0 4 1 jan * /etc/init.d/smb restart 每小时执行/etc/cron.hourly目录内的脚本 01 * * * * root run-parts /etc/cron.hourly