文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用 cron 和 crontab 后台执行命令

使用 cron 和 crontab 后台执行命令

时间:2007-04-24  来源:ahhy

    * cron      一个系统调督进程。可以使用它在一个指定的时间段内执行作业。
    * crontab   user job file scheduler
    * at        at 命令可以指定在一个指定的时间约性特殊的作业。
   
1,cron 和 crontab
      cron 是系统主要的调度进程,可以在无需人工干预的情况下运行作业。有一个叫做 crontab 的命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个 crontab 文件来保存调度信息。可以使用它运行任意一个 shell 脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的 crontab 文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过 cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的 crontab 文件。       * crontab 的域       crontab 文件每个条目中各个域的意义和格式如下:         - 1         分钟 1 ~ 59
        - 2         小时 1 ~ 23 (0 表示子夜)
        - 3         天 1 ~ 31
        - 4         月 1 ~ 12
        - 5         星期 0 ~ 6 (0 表示星期天)
        - 6         需要运行的命令
      下面是 crontab 的格式:         分钟 小时 日 月 星期 要运行的命令       其他一些符号说明:         - 可以使用横杠表示一个时间范围,例如: 1-5
        - 可以使用逗号分割需要运行昨天的时间
        - 可以使用星号表示某个连续的时间段
        - 注释行以 # 开头
      * crontab 事例           eg: 每晚的 21:30 运行 /apps/bin 目录下的 cleanup.sh             30 21 * * * /apps/bin/cleanup.sh           eg: 每月 1、10、22 日的 4:45 运行 /apps/bin 目录下的 backup.sh             45 4 1,10,22 * * /apps/bin/backup.sh           eg: 每周六、周日的 1:10 运行一个 find 命令             10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;           eg: 在每天18:00至23:00之间每隔30分钟运行 /apps/bin 目录下的 dbcheck.sh             0,30 18-23 * * * /apps/bin/dbcheck.sh           注意:当使用 crontab 运行 shell 脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向 cron 提交了这些作业,就要向 cron 提供所需的全部环境。所以你要保证在 shell脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。       * crontab 命令选项           crontab [-e | -l | -r] user] [file]         -e      编辑 crontab 文件
        -l      列出 crontab 文件中的内容
        -r      删除 crontab 文件
      * 创建一个新的 crontab 文件           在向 cron 系统调度进程提交你的 crontab 文件之前,需要首先设置环境变量 EDITOR,然后 cron 据此来确定哪个编辑器编辑 crontab 文件。(当然 99.99% 的 unix 和 linux 用户可能都会使用 vi 的:))           可以创建一个名称为 username_cron 的文件,然后编辑如下:             30 21 * * * /apps/bin/cleanup.sh
       
        最后,提交这个创建的 crontab 文件
            crontab bill_cron       * 可以查看 crontab 文件         crontab -l
   
    * 编辑 crontab 文件
        crontab -e   2,at 命令       at 命令的基本形式:         at [-f script] [-m -l -r] [time] [date]     -f script       是所要提交的脚本或命令
    -l              列出当前所有等待运行的作业
    -r              清除作业。为了清除某个作业,还要提供相应的作业标识(ID)
      * 使用 at 提交命令或者脚本         - 命令行方式
        - 提交 shell 脚本
          eg: at 3:00pm tomorrow -f /app/bin/db_tables.sh           eg: echo find /etc -name "passwd" -print | at now +1 minutes       * 列出所提交的作业           at -l
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载