设为首页 加入收藏

TOP

Linux 定时任务详解(五)
2017-10-16 18:20:40 】 浏览:11467
Tags:Linux 定时 任务 详解
rontab -l #查看你的任务

crontab-e#编辑你的任务

crontab-r#删除用户的crontab的内容

实例讲解二:

系统cron设定:/etc/crontab
    通过 /etc/crontab 文件,可以设定系统定期执行的任务,当然,要想编辑这个文件,得有root权限

0   7  *  *   *    root    mpg123 ~/wakeup.mp3 

分 时 日 月 周

示例:

0   4   *   *   0  root  emerge --sync && emerge -uD world              #每周日凌晨4点,更新系统
0   2   1   *   *  root   rm -f /tmp/*                                    #每月1号凌晨2点,清理/tmp下的文件
0   8   6   5   *  root  mail robin < /home/galeki/happy.txt             #每年5月6日给robin发信祝他生日快乐

假如,我想每隔2分钟就要执行某个命令,或者我想在每天的6点、12点、18点执行命令,诸如此类的周期,可以通过 “ / ” 和 “ , ” 来设置:

*/2  *      *  *  *  root      ...............      #每两分钟就执行........ 
0    6,12,18  *  *  *  root      ...............      #每天6点、12点、18点执行........

每两个小时

0  */2  *  *  *  echo "have a break now." >&gt; /tmp/test.txt

晚上11点到早上8点之间每两个小时,早上八点

0  23-7/2,8  *  *  *  echo "have a good dream:)" &gt;&gt; /tmp/test.txt

每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点

0  11  4  *  1-3  command line

1月1日早上4点

0  4 1 1 * command line

 

 
linux下定时执行任务的方法 

LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。

 

LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。

cron的配置文件称为“crontab”,是“cron table”的简写。

一、cron在3个地方查找配置文件:
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。
一般一个用户最多只有一个crontab文件。

二、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。

三、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。

四、权限
crontab权限问题到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在
用法如下: 
1、如果两个文件都不存在,则只有root用户才能使用crontab命令。 
2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。 
3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。 
4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab,如果两个文件中都有同一个用户,
以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。

 

五、cron服务
  cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
  /sbin/service crond start    //启动服务
  /sbin/service crond stop     //关闭服务
  /sbin/service crond restart  //重启服务
  /sbin/service crond reload   //重新载入配置
  /sbin/service crond status   //查看服务状态 

在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
    每个域之间使用空格或者制表符分隔。格式如下: 
  minute hour day-of-month month-of-year day-of-week commands 
    合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday) commands(代表要执行的脚本)
    除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

几个例子: 
每天早上6点 

0  6  *  *  *  echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时 

0  */2  *  *  *  echo "Have a break now." >> /tmp/test.txt  

晚上11点到早上8点之间每两个小时和早上八点 

0  23-7/2,8  *  *  *  echo "Have a good dream" >> /tmp/test.txt

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 

0  11  4  *  1-3  command line

1月1日早上4点 
0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/ 

每小时执行/etc/cron.hourly内的脚本

01  *  *  *  *  root run-parts /etc/cron.hourly

每天执行/etc/cron.daily内的脚本

首页 上一页 2 3 4 5 6 7 下一页 尾页 5/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇DNS—正、反向解析;委派;主从;.. 下一篇平稳切换nginx版本

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目