Chinaunix首页 | 论坛 | 博客
  • 博客访问: 364978
  • 博文数量: 83
  • 博客积分: 5322
  • 博客等级: 中校
  • 技术积分: 1057
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-11 11:27
个人简介

爱生活,爱阅读

文章分类

全部博文(83)

文章存档

2015年(1)

2013年(1)

2012年(80)

2011年(1)

分类: LINUX

2012-02-05 17:02:48

主要内容:
     1、cron 与crontab;
     2、at;
 
一、cron
     1.1、cron与crontab
          cron 是linux下定时执行指定命令的一个任务。服务状态相关命令:
查看:
         [root@localhost ~]# /sbin/service crond status
         crond (pid 2840) is running...
         [root@localhost ~]#
禁用:
         [root@localhost ~]# /sbin/service crond stop
启动:
         [root@localhost ~]# /sbin/service crond start
重启:
         [root@localhost ~]# /sbin/service crond restart
 
    cron定时任务也是基于文本的,配置完定时任务后,可以在/var/spool/cron下按照用户名找到对应的定时任务列表。对定时任务的配置是通过crontab进行的。
 
        1.1.1、crontab命令格式:
            crontab [-u user] file
            crontab [-u user] [-l | -r | -e] [-i]
     选项意义:
      -u,用于指定crontab所属用户。若不指定,则默认为用户执行者;
      -l,列出用户当前已经配置的定时任务;
      -r,删除用户定时任务列表;
      -e,修改定时任务列表;
      -i,删除定时任务列表,删除前待用户确认;
      其中,第一种格式中,是将当前file中按照一定格式的定时任务列表导入指定用户的crotab中。下面介绍crontab文件格式:
 
        1.1.2、crontab 中定时任务格式:
             T1 T2 T3 T4 T5 T6
            共有六个字段组成,各个字段之间用空格间隔:
            T1:分钟(0-59)
            T2:小时(0-23)
            T3:天(1-31)
            T4:月(1-12)
            T5:星期(0-6)
            T6:待执行命令(绝对路径标识)
     另外:“*”表示连续时间段;“-”表示某个时间范围;“,”表示某个指定的时间点;“/M”表示每M个单位时间;
 
         1.1.3、举例:
      00 22 * * * /usr/appwiz/cleartab.sh
      ----------每天晚上22点执行cleartab.sh脚本
      */20 22-00 * * * /bin/rm -rf /home/admin/log/tmp
      ----------每天晚上十点到凌晨每20分钟清楚一次/log/tmp
      0 08 1,10,20 6 * /bin/cp -rf /home/admin/workbench /mnt/hgfs/share 
       -----------每月的1号,10号20号,八点进行文件备份
      * 10 * * 1,3 /usr/appwiz/echotoH.sh
      -----------每周一周三上午10点执行脚本echotoH.sh
        
         1.1.4、备份与恢复:
          为防止用户cron任务被意外删除,可进行适当备份,以备后续恢复。
          [root@localhost ~]#  crontab -l >$HOME/cronBAK/cron
          恢复方式:
          [root@localhost cronBAK]# crontab cron 
 
二、at命令
     at命令允许用户向cron进程提交一个任务,使其在稍后指定时间运行。at命令在提交任务后,保留当前的环境变量。其结果以邮件方式发送给用户,当然可以通过重定向方式将结果输出到指定文件。
     2.1、格式:
         2.1.1、
             at [-V] [-q queue] [-f file] [-mldbv] TIME
             atrm [-V] job [job...]
 
        其中:
             -f:用于指定待运行的脚本或命令;
             TIME:用于指定作业运行时间;
         2.1.2举例:
[root@localhost ~]# at 19:48
at> find / -name "passwd" -print
at>
job 3 at Sun Feb  5 19:48:00 2012
[root@localhost ~]# date
Sun Feb  5 19:48:59 CST 2012
[root@localhost ~l]# cd /var/spool/at/spool
[root@localhost spool]# pwd
/var/spool/at/spool
[root@localhost spool]# ll
[root@localhost spool]# ll
total 20
-rw------- 1 root root  98 2012-01-12 20:49 a0000101515062
-rw------- 1 root root 255 2012-02-05 15:35 a000020151d627
-rw------- 1 root root 255 2012-02-05 19:48 a000030151d724
-rw-r--r-- 1 root root 205 2012-02-05 15:51 ps.txt
[root@localhost spool]# cat a000030151d724
Subject: Output from your job       
3
To: admin
/usr/bin/passwd
find: /usr/share/icons/Mist/32x32/status: Input/output error
find: /usr/share/icons/Mist/scalable: Input/output error
/usr/share/doc/nss_ldap-254/pam.d/passwd
/etc/passwd
/etc/pam.d/passwd
[root@localhost spool]#
[root@localhost spool]# at -l
3       Sun Feb  5 19:48:00 2012 = root
[root@localhost spool]#
 
另,可以通过atrm 指定job号删除计划任务。
 
 
阅读(1130) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~