转载:http://i.592.net/?post=276

Debian的定时执行命令Crontab,这个相当于Windows的计划任务

想要让Debian定时执行命令就得靠crontab了!
    它的功能类似微软的计划任务,可以在您设定的时间执行你想要的命令。
    通过编写设定文件可以组合出复杂的执行时段,让命令的执行更加有效率。

cron设置文件在Debian系统下的位置
   /etc/crontab

大致内容如下:

01 # /etc/crontab: system-wide crontab
02 # Unlike any other crontab you don't have to run the `crontab'
03 # command to install the new version when you edit this file.
04 # This file also has a username field, that none of the other crontabs do.
05  
06 SHELL=/bin/sh
07 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
08  
09 # m h dom mon dow user command
10 17 * * * * root run-parts --report /etc/cron.hourly
11 25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
12 47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
13 52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
14 0 20 1 * * root /usr/bin/updatedb
15 #

需要设定的是 # m h dom mon dow user command 下面的部份
由左至右相对应的意思为:

分0-59   时0-23   日1-31   月1-12   周0-7  执行命令的用户   命令

其中比较有意思的是:周,0和7都代表星期日

而可以使用的特殊符号有

* (星号)   代表所有时间都接受
, (逗号)   代表同一个分类可以有多少个值
- (减号)   代表在这个时段内执行
/n          代表每n个时间就执行一次

范例:

30 12 * * * command:   <em>每天12:30执行command</em>
0 6,12 15 * * command:<em>每月15日的6:00和12:00执行command</em>
10 8 1-15 6 * command:<em>每年6月1至15日的8:10执行command</em>
*/5 * * * 7 command:   <em>星期日每隔五分钟执行一次command</em>

定时器语法:
就是上面计划任务的第一部分。它决定了何时执行计划任务。

它包含5部分:
  1.分钟(0-59)
  2.小时(0-23)
  3.一个月的哪一天(1-31)
  4.一年中的哪个月(1-12)
  5.星期几(0是星期天)

星号  如果某个部分出现的是星号而不是数字,就是说明这个部分表示的时间全部会执行。

可能一时不太容易说清楚,再看例子吧。

示例:
   1、下面的计划任务会一直运行
        * * * * * [command]

2、下面的计划任务会在每个小时的0分时运行(就是每小时执行一次)
        0 * * * * [command]

3、下面依旧是一个每小时运行一次的计划任务。不过是在每个小时的一刻钟时运行的(1:15,2:15.。。)
       15 * * * * [command]

4、下面的计划任务每天执行一次,在2:30分
        30 2 * * * [command]

5、下面的计划任务是在每个月2号的午夜执行(比如:2010年2月2日00:00)
        0 0 2 * * [command]

6、下面的计划任务会在每周一的每个小时0分钟时执行一次
        0 * * * 1 [command]

7、下面的会每小时运行3次,在0分,10分,和20分时
        0,10,20 * * * * [command]

8、下面是用除号“/”表示每多少运行一次。

*/5 * * * * [command]    每5分钟运行一次

00 */2 * * * [command]    每2小时运行一次 (* */2 * * * [command]  这种写法是错误的!)

    */1 * * * * root wget -O /var/log/cron.txt
http://www.592.net/test.php    每分钟访问网站某PHP脚本一次,检查是否每分钟自动运行了PHP,可以查看
var/log/cron.txt文件,看下是否有网站PHP返回的内容就可以了!

9、还可以用“-”表示一个范围,如下表示5到10点的每个整点运行一次
        0 5-10 * * * [command]

10、另外还有一个特殊的时间关键字“@reboot”,就是每次重启服务器时运行计划任务
        @reboot [command]

设定和管理计划任务
    编辑Crontab,来设定计划任务。使用下面的命令,会在vi 里打开crontab的内容以供编辑:
crontab -e

如果你只想看看,不需要编辑,可以使用以下的命令
crontab -l

要删除crontab的内容,就是删除所有的计划任务,可以这样:
crontab -r

cron是个linux下的定时执行工具,能在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但他不自动起来,能用以下的方法启动、关闭这个服务:

编辑/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"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

重启命令:
Debian
    /etc/init.d/cron restart

Linux
    /etc/rc.d/init.d/crond restart

Debian的定时执行命令Crontab的更多相关文章

  1. linux后台执行命令crontab

    有如下几种方式: crontab at & nohup 1. crontab 定时执行任务 # crontab -e //编辑crontab配置文件 Select an editor. To ...

  2. linux定时执行任务crontab命令用法

    linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所 ...

  3. Linux下定时执行任务(crontab命令)

    1.循环执行的计划任务 linux下面有atd和crond两种计划任务,其中,atd服务使用的at命令只能执行一次,而crond服务使用的crontab定义的命令,是循环作用的,所以crond才符合我 ...

  4. linux 定时执行任务 crontab

    欲编写定时任务访问网页和打开图片 原来写法为 #!/bin/bash #可以执行 echoecho "Hello" > dir/file.txt #不可以执行 xdg-ope ...

  5. bat 批处理脚本定时执行命令

    有个需求,需要每天定时执行下某个任务,一天一次.由于工作机器环境问题,没有办法设置windows 定时任务.查找资料并完成如下脚本. 功能:每天定时执行一次任务. 复制如下脚本,到一个test.vbs ...

  6. bat实现每天定时执行命令[windows底下每天重启一下Nginx]

    --试验通过--Windows环境脚本名称:restart.bat脚本内容: @echo offtaskkill /f /fi "IMAGENAME eq nginx.exe"cd ...

  7. ubuntu定时执行任务——crontab的使用

    先补上几个链接,后续再总结 #参考# http://www.cnblogs.com/kaituorensheng/p/4494321.html http://blogread.cn/it/articl ...

  8. Linux下的crontab定时执行任务命令详解

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

  9. (二)Linux下的crontab定时执行任务命令详解

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

随机推荐

  1. ZOJ-3686 A Simple Tree Problem 线段树

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3686 题意:给定一颗有根树,每个节点有0和1两种值.有两种操作: ...

  2. android 运行 python

    Jython is an implementation of the Python programming language designed to run on the Java platform. ...

  3. AndroidStudio debug

    1. view as text

  4. HD4505小Q系列故事——电梯里的爱情

    Problem Description 细心的同事发现,小Q最近喜欢乘电梯上上下下,究其原因,也许只有小Q自己知道:在电梯里经常可以遇到他心中的女神HR. 电梯其实是个很暧昧的地方,只有在电梯里,小Q ...

  5. android学习笔记(入门篇)

    +号只是当你第一次定义一个资源ID的时候需要, 告诉SDK此资源ID需要被创建出来 对于所有的View默认的权重是0,如果你只设置了一个View的权重大于0,那么这个View将占据除去别的View本身 ...

  6. PhysX

    [PhysX] 1.施加力: ))) { //施加一个力,X轴方向力度为1000,Y轴方向力度为1000 addFrceObj.rigidbody.AddForce (, , ); } ))) { / ...

  7. LC串联谐振回路

  8. CENTOS LINUX查询内存大小、频率

    more /proc/meminfo dmidecode [root@barcode-mcs ~]# dmidecode -t memory linux下查看主板内存槽与内存信息 1.查看内存槽数.那 ...

  9. SecureCRT上传、下载文件(使用sz与rz命令)

    1.简述 借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器. 2.理解记忆 其中,对于sz和rz的理解与记忆我用了如下的方法 ...

  10. 5分钟内使用React、Webpack与ES6构建应用

    http://blog.leapoahead.com/2015/09/12/react-es6-webpack-in-5-minutes/