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
案例

 

posted @ 2018-01-14 17:51  kevin.Xiang  阅读(384)  评论(0编辑  收藏  举报