Linux计划任务入门详解

来源:互联网 发布:石油骚动mac版中文 编辑:程序博客网 时间:2024/05/29 13:43
 Linux操作系统定时任务系统 Cron 入门
  cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
  /sbin/service crond start //启动服务
  /sbin/service crond stop //关闭服务
  /sbin/service crond restart //重启服务
  /sbin/service crond reload //重新载入配置
  你也可以将这个服务在系统启动的时候自动启动:
  在/etc/rc.d/rc.local这个脚本的末尾加上:
  /sbin/service crond start
  现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:
  1.直接用crontab命令编辑
  cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
  crontab -l //列出某个用户cron服务的详细内容
  crontab -r //删除没个用户的cron服务
  crontab -e //编辑某个用户的cron服务
  比如说root查看自己的cron设置:crontab -u root -l
  再例如,root想删除fred的cron设置:crontab -u fred -r
  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
  进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任务调度的crond常驻命令
crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
1、linux任务调度的工作主要分为以下两类:
     *系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
     *个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。
2.crontab命令选项:
     -u指定一个用户,
     -l列出某个用户的任务计划,
     -r删除某个用户的任务,
     -e编辑某个用户的任务
3.cron文件语法:
           分     小时   日       月       星期     命令
         0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)
4.记住几个特殊符号的含义:
         "*"代表取值范围内的数字,
         "/"代表"每",
         "-"代表从某个数字到某个数字,
         ","分开几个离散的数字
一、任务调度设置文件的写法
       可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
具体格式如下:
       Minute Hour Day Month Dayofweek   command
       分钟     小时   天     月       天每星期       命令
每个字段代表的含义如下:
     Minute             每个小时的第几分钟执行该任务
     Hour               每天的第几个小时执行该任务
     Day                 每月的第几天执行该任务
     Month             每年的第几个月执行该任务
     DayOfWeek     每周的第几天执行该任务
     Command       指定要执行的程序
     在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
举例如下:
5       *       *           *     *     ls             指定每小时的第5分钟执行一次ls命令
30     5       *           *     *     ls             指定每天的 5:30 执行ls命令
30     7       8         *     *     ls             指定每月8号的7:30分执行ls命令
30     5       8         6     *     ls             指定每年的6月8日5:30执行ls命令
30     6       *           *     0     ls             指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30     3     10,20     *     *     ls     每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25     8-11 *           *     *     ls       每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15   *       *           *     *     ls         每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30   6     */10         *     *     ls       每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50   7       *             *     *     root     run-parts     /etc/cron.daily   [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]
二、新增调度任务
新增调度任务可用两种方法:
         1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
         2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
三、查看调度任务
         crontab -l //列出当前的所有调度任务
         crontab -l -u jp   //列出用户jp的所有调度任务
四、删除任务调度工作
         crontab -r   //删除所有任务调度工作
五、任务调度执行结果的转向
     例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中
         30 5 * * * ls >/jp/test 2>&1
     注:2>&1 表示执行结果及错误信息。
编辑/etc/crontab 文件配置cron  
  cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:  
  SHELL=/bin/bash  
  PATH=/sbin:/bin:/usr/sbin:/usr/bin  
  MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号  
  HOME=/ //使用者运行的路径,这里是根目录  
  # run-parts  
  01   *   *   *   *     root run-parts /etc/cron.hourly         //每小时执行/etc/cron.hourly内的脚本  
  02   4   *   *   *     root run-parts /etc/cron.daily           //每天执行/etc/cron.daily内的脚本  
  22   4   *   *   0     root run-parts /etc/cron.weekly       //每星期执行/etc/cron.weekly内的脚本  
  42   4   1   *   *     root run-parts /etc/cron.monthly     //每月去执行/etc/cron.monthly内的脚本  
  大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了
例如:         1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
         2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务
11 2 21 10 * rm -rf /mnt/fb
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微博更换手机号被别人注册过怎么办 怎么有个qq注册验证码怎么办 12306手机丢了密码忘了怎么办 教师考试注册时邮箱填写错误怎么办 计算机二级注册时邮箱填错了怎么办 注册时执业范围填错了怎么办 百度号被盗了申诉不回来怎么办 斗鱼直播伴侣显示分类不可用怎么办 斗鱼黑名单显示网络加载失败怎么办 平台登录验证码只能显示一半怎么办 想改微博密码但是忘了原密码怎么办 微博账号密码都忘了怎么办 新浪博客忘记邮箱和密码忘了怎么办 新浪助学贷款邮箱密码忘了怎么办 客厅的父母乐忘记密码了怎么办 微博密码忘记了手机号也换了怎么办 想改密码旧密码忘了怎么办 商标转让转让方不配合做补证怎么办 肇事后责任方拒赔怎么办久草www 我出车祸了对方逃逸找不到人怎么办 肇事车辆怀疑是故意伤人怎么办啊 法院判的交通事故罚金没钱交怎么办 公安抓人应该行政拘留却放了怎么办 停车场把人家车刮了跑了后怕怎么办 膝盖半月板损伤可走路不疼怎么办 面试过程中遇到写的笔没水怎么办 当学生会主席底下的人不服怎么办 中班学生放学总是不写作业怎么办 妻子不想离婚主动同认婚外情怎么办 淘宝自动退款超时了卖家怎么办 征途盟战刺探自己盟的没做怎么办 被蜜蜂蛰了但一周后奇痒怎么办 热带鱼小鱼抢食大鱼吃不到怎么办 家里养的植物土壤里有虫子怎么办 哺乳期乳房有硬块乳头有白点怎么办 税务查税拿到不开票销售合同怎么办 买地皮是集体证已交钱了怎么办 word里的字体都是英文版怎么办 华为手机开机卡在菊花那里怎么办 车辆挂牌时公司名称打错了怎么办 经营异常名录查不到怎么办移除