百度
360搜索
搜狗搜索

crontab每天1点执行,crontab每周一执行一次(linux crontab命令详解)详细介绍

本文目录一览: Linux Crontab 表达式详解

cron的表达式被用来配置CronTrigger实例。?cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表。这些子表达式是分开的空白,代表:

1. Seconds

2. Minutes

3. Hours

4. Day-of-Month

5. Month

6. Day-of-Week

7. Year ( 可选字段 )

例 ?"0 0 12 ? * WED" 在每星期三下午12:00 执行,

个别子表达式可以包含范围, 例如,在前面的例子里("WED")可以替换成 "MON-FRI", "MON, WED, FRI"甚至"MON-WED,SAT".

“*” 代表整个时间段.

每一个字段都有一套可以指定有效值,如

Seconds (秒)???????? :可以用数字0-59 表示,

Minutes( 分)????????? :可以用数字0-59 表示,

Hours( 时)???????????? :可以用数字0-23表示,

Day-of-Month( 天) :可以用数字1-31 中的任一一个值,但要注意一些特别的月份

Month( 月)??????????? :可以用0-11 或用字符串 ?“JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示

Day-of-Week( 每周 ) : 可以用数字1-7表示(1 = 星期日)或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”表示

“/”:为特别单位,表示为“每”如“0/15”表示每隔15分钟执行一次,“0”表示为从“0”分开始, “3/20”表示表示每隔20分钟执行一次,“3”表示从第3分钟开始执行

“?”:表示每月的某一天,或第周的某一天

“L”:用于每月,或每周,表示为每月的最后一天,或每个月的最后星期几如“6L”表示“每月的最后一个星期五”

“W”:表示为最近工作日,如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”

““#”:是用来指定“的”每月第n个工作日,例 在每周(day-of-week)这个字段中内容为"6#3" or "FRI#3" 则表示“每月第三个星期五”

1)Cron表达式的格式:秒 分 时 日 月 周 年(可选)。

字段名???????????????? 允许的值??????????????????????? 允许的特殊字符

秒????????????????????? ?? 0-59?????????????????????????????? , - * /

分???????????????????????? 0-59?????????????????????????????? , - * /

小时?????????????????? ? 0-23?????????????????????????????? , - * /

日????????????????????? ?? 1-31?????????????????????????????? , - * ? / L W C

月???????????????????????? 1-12 or JAN-DEC?????????, - * /

周几???????????????????? 1-7 or SUN-SAT???????????, - * ? / L C #

年 (可选字段)???? empty, 1970-2099????? , - * /

“?”字符:表示不确定的值

“,”字符:指定数个值

“-”字符:指定一个值的范围

“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m

“L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X

“W”字符:指定离给定日期最近的工作日(周一到周五)

“#”字符:表示该月第几个周X。6#3表示该月第3个周五

2)Cron表达式范例:

每隔5秒执行一次:*/5 * * * * ?

每隔1分钟执行一次:0 */1 * * * ?

每天23点执行一次:0 0 23 * * ?

每天凌晨1点执行一次:0 0 1 * * ?

每月1号凌晨1点执行一次:0 0 1 1 * ?

每月最后一天23点执行一次:0 0 23 L * ?

每周星期天凌晨1点实行一次:0 0 1 ? * L

在26分、29分、33分执行一次:0 26,29,33 * * * ?

每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

linux的定时重启的具体命令? 非常感谢。。。

配置一个每天自动重启的功能:
如果支持crontab 可直接 crontab -l 查看目前已有的定时任务
如果当前的linux不支持crontab 则需要进行配置:
#安装Crontab yum install vixie-cron crontabs#设置开机启动Crontab chkconfig crond on#启动Crontab service crond start
1.先列一下现有的Crontab看看:
crontab -l
提示为 no crontab for root
2.添加一条编辑命令:
crontab –e
3.按 i 进入编辑模式,输入
30 15 * * * /sbin/reboot
4.表示 每天下午15:30分重启设备。按ESC 进入命令模式,输入:wq 保存退出。
5.最后重启crontab,使重启功能生效
service crond restart
Linux系统利用Crontab命令实现定时重启
Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:
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
编辑/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。
需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上service crond start如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。
比如: service mysqld start
基本用法:
1. crontab -l列出当前的crontab任务
2. crontab -d
删除当前的crontab任务
3. crontab -e (solaris5.8上面是 crontab -r)
编辑一个crontab任务,ctrl_D结束
4. crontab filename
  以filename做为crontab的任务列表文件并载入
  crontab file的格式:
  crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间
  分钟 (0-59)
  小时 (0-23)
  日期 (1-31)
  月份 (1-12)
  星期几(0-6,其中 0 代表星期日)
  第 6 个字段是一个要在适当时间执行的字符串
  例子:
  #MIN HOUR DAY MONTH DAYOFWEEK COMMAND
  #每天早上6点10分
  10 6 * * * date
  #每两个小时
  0 */2 * * * date (solaris 5.8似乎不支持此种写法)
  #晚上11点到早上8点之间每两个小时,早上8点
  0 23-7/2,8 * * * date
  #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
  0 11 4 * mon-wed date
  #1月份日早上4点
  0 4 1 jan * date
  补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)
  (1)先建一个文件crond.txt如下, 每天早上5点36分重新启动
  36 5 * * * reboot
  (2)上传到/opt目录
  (3)运行命令
  crontab /opt/crond.txt
  crontab -l
  让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。
  在Fedora 和Redhat中,我们应该用;
  [root@localhost ~]# /etc/init.d/crond restart
  如果让crond 在开机时运行,应该改变其运行级别;
  [root@localhost ~]# chkconfig --levels 35 crond on
  service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务
经本人实践证明,可使用如下方法实现Linux系统在每天凌晨一点三十分自动重启系统。
1,编辑系统的crontab文件
#vi /etc/crontab
2,在crontab文件里面的run-parts部分加入一行:
30 1 * * * root init 6
3,保存退出
:wq
4,重启crond任务
这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题
每天早上6点
0 6 * * * root init 6
每两个小时
0 */2 * * * echo root init 6
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * root init 6
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
linux基础09:怎样给linux添加定时任务——定时重启?
LINUX服务器定时重启的具体命令如下:
crontab -e
0 1 * * * /sbin/reboot ( 0 1 * * *表示每天凌晨一点重启.)
0 1 * * 1/sbin/reboot (0 1 * * 1表示每周一凌晨一点重启
30 2 * * * /home/bin/oraclebackup.sh (备份数据库和站点目录)
30 3 * * * /home/bin/cmsbackup.sh (备份数据库和站点目录)
[root@localhost ~]# /etc/init.d/crond restart
[root@localhost ~]# chkconfig --levels 35 crond on  (重启crond服务)
扩展资料:
在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
其中:
1.minute: 表示分钟,可以是从0到59之间的任何整数。
2.hour:表示小时,可以是从0到23之间的任何整数。
3.day:表示日期,可以是从1到31之间的任何整数。
4.month:表示月份,可以是从1到12之间的任何整数。
5.week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
6.command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

Linux crontab怎么定时执行任务

linux下定时执行任务的方法 【非原创,个人网上收集整理了一下】
在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。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR
#sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
三、/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命令。
AIX 中 普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.deny
HP-UNIX 中默认普通用户没得crontab 权限 ,要想放开普通用户的crontab 权限可以编
五、创建cron脚本
第一步:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." >> xgmtest.txt 表示,每隔15分钟,执行打印一次命令
第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
六、cron服务
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看服务状态
crontab用法
crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。
每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的
在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)
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。
-l 在标准输出上显示当前的crontab。
-r 删除当前的crontab文件。
-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。
几个例子:
每天早上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内的脚本
02 4 * * * root run-parts /etc/cron.daily
每星期执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
每月去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。
每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。
5,15,25,35,45,55 16,17,18 * * * command
每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
00 15 * * 1,3,5 shutdown -r +5
每小时的10分,40分执行用户目录下的innd/bbslin这个指令:
10,40 * * * * innd/bbslink
每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
at命令实现定时任务
假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了。
at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。
at命令执行流程如下
# at 2:05 tomorrow
at>/home/kyle/do_job
at> Ctrl+D
AT Time中的时间表示方法
-----------------------------------------------------------------------
时 间 例子 说明
-----------------------------------------------------------------------
Minute at now + 5 minutes 任务在5分钟后运行
Hour at now + 1 hour 任务在1小时后运行
Days at now + 3 days 任务在3天后运行
Weeks at now + 2 weeks 任务在两周后运行
Fixed at midnight 任务在午夜运行
Fixed at 10:30pm 任务在晚上10点30分
注意:linux默认为不启动,而ubuntu默认为启动的。检查是否启动,用service atd检查语法,用service atd status检查atd的状态,用service atd start启动atd服务。
查看at执行的具体内容:一般位于/var/spool/at目录下面, 用vi打开,在最后一部分就是你的执行程序
参数详解
-V : 印出版本编号
-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者
-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入
网络应用
-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
-v : 列出所有已经完成但尚未删除的指定
删除任务
atrm 2
三天后的下午 5 点锺执行 /bin/ls :
at 5pm 3 days /bin/ls
三个星期后的下午 5 点锺执行 /bin/ls :
at 5pm 2 weeks /bin/ls
明天的 17:20 执行 /bin/date :
at 17:20 tomorrow /bin/date
1999 年的最后一天的最后一分钟印出 the end of world !
at 23:59 12/31/1999 echo the end of world !
顶2踩0

阅读更多 >>>  python中eval是什么意思,pythoneval什么意思

cron表达式0 ?什么意思

每分钟0秒执行。
cron计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。
cron服务器可以根据配置文件约定的时间来执行特定的任务。
计划任务:
在Linux系统中,计划任务一般是由cron承担,可以把cron设置为开机时自动启动。cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用度工作任务。
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
每隔5秒执行一次:0/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
每分钟执行一次
秒 分 小时 日 月 星期 年
每分钟0秒执行。
cron计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。
cron服务器可以根据配置文件约定的时间来执行特定的任务。
计划任务:
在Linux系统中,计划任务一般是由cron承担,可以把cron设置为开机时自动启动。cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用度工作任务。
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务。
/sbin/service crond stop //关闭服务。
/sbin/service crond restart //重启服务。
/sbin/service crond reload //重新载入配置。

linux定时任务多个时间点执行

Linux系统中,可以使用crontab命令来创建定时任务,支持设置多个时间点执行任务。
下面是一个示例,演示如何设置每天的凌晨、上午10点和下午4点各执行一次任务:
1. 执行 crontab -e 命令,打开定时任务编辑器。
2. 在编辑器中添加以下内容:
0 0,10,16 * * * /path/to/command
这里的意思是在每天0点、10点和16点执行 /path/to/command 这个命令。其中,数字 0 表示分钟数,逗号分隔的数字表示小时数,星号表示在任何日期都执行,也可以替换成具体日期、星期几等选项。
3. 保存文件并退出编辑器。
这样,你就创建了一个定时任务,可以在每天凌晨、上午10点和下午4点各执行一次。如果需要设置更多时间点,可以在小时数中添加逗号分隔的数字即可。

crontab每周一执行一次(linux crontab命令详解)

linux定时执行任务命令是我们在日常工作中经常用的,一般情况下,我们都是通过linux的crontab软件来实现,crontab是定时来执行一个命令或者一个脚本;但是如果你临时只执行一次命令的话,那么我们也可以采用at命令,同时可以实现我们的目标。

先从crontab开始分享,我们一般通过命令 crontab -l 来查看已经定时执行的任务,我们要新增呢,我们在命令行输入

# crontab -e

如果第一次执行,他会提示你选择默认编译器,一般我选择vim(vi、nano也可以)

我举例定时关机说明:

分 时 日 月 周 命令

0 1 * * 1 /sbin/shutdown -h now

这个意思就是在每周一的一点执行 /sbin/shutdown定时关机(root下才可以关机)当然你可以写个脚本,给予执行权限(x),然后输入脚本的绝对路径,这里也可以定时执行。

定时很简单吧,其实linux就是要多用多操作多犯错(非生产环境)才能成长。

下篇文章我分析at命令用法。

文章来源https://www.237it.com/detail-1479.html

如何使用Linux的Crontab定时执行PHP脚本的方法

一、在Crontab中使用PHP执行脚本
就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。
每一小时执行myscript.php如下:
复制代码 代码如下:
# crontab -e
00 * * * * /usr/local/bin/php /home/john/myscript.php
/usr/local/bin/php为PHP程序的路径。
二、在Crontab中使用URL执行脚本
如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
复制代码 代码如下:
00 * * * * lynx -dump
下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。
复制代码 代码如下:
*/5 * * * * /usr/bin/curl -o temp.txt
下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。
复制代码 代码如下:
*/10 * * * * /usr/bin/wget -q -O temp.txt
一、在Crontab中使用PHP执行脚本
#!/usr/local/bin/php -q 文件名
<!--?$file = '/htdocs/www/b100/egspace/Bin/test/'.date('H').'-'.date('i').'-'.date('s').'.txt';
file_put_contents($file,date('Y-m-d'));
?>
就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。
每一小时执行myscript.php如下:
# crontab -e
00 * * * * /usr/local/bin/php /home/john/myscript.php
/usr/local/bin/php为PHP程序的路径。
二、在Crontab中使用URL执行脚本
如果PHP脚本可以通过URL触发,可以使用lynx或curl或wget来配置Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
00 * * * * lynx -dump IP/myscript.php
下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,也可以把脚本的输出转储到临时文件。
*/5 * * * * /usr/bin/curl -o temp.txt IP/myscript.php
下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。
1:使用crontab -e 可以编辑定时命令,配合 curl可以运行php页面的脚本
2:
例如
01 * * * * curl site/yourweb.php?do=youaction
第一个01表示,每小时的第一分钟执行一次。如果是5个*则表示,每一分钟执行一次。
键入 crontab
-e 编辑crontab服务文件
------------------------------------------Ubuntu中的linux---------------
安装lynx包:apt-get isntall lynx
先写ln.sh脚本:lynx http://10.11.12.49/data_task.php
设置定时:crontab -e
0 1 * * * bash /var/www/test/ln.sh
-------------------------------------------------------------------------
分为两种情况:
第一种情况:你的php脚本中没有引入其他PHP文件,也就是说没有include,require_once等命令的PHP文件
* */1 * * * /usr/local/php/bin/php
/var/www/html/wwwroot/web/script.php (每一小时执行一次script.php)
注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录
chmod +x script.php
注意:你的script.php文件中一定要在开始处加上: #!/usr/local/php/bin/php -q
,下面是一个完整的script.php文件代码
<!--?php#!/usr/local/php/bin/php -q
session_start();
define( "DB_PASSWORD", "111111" ); // 服务器登陆密码
define( "DB_NAME", "db_shopping" ); // 数据库名称
define( "DB_USER", "root" ); // 服务器登陆用户
define( "DB_HOST", "127.0.0.1" ); // 服务器IP地址或名称
define( "DB_PORT", "3306" ); // 服务器登陆端口号
define( "DB_CHARSET", "utf8" ); // 数据库默认语言
define( "DB_DEBUG", false ); // 是否设置为调试模式
define( "DB_CLOSE", false ); // 是否主动关闭数据库连接
$con=mysql_connect(DB_HOST.":".DB_PORT,DB_USER,DB_PASSWORD);
mysql_query ( "SET character_set_connection = ".DB_CHARSET.",
character_set_results = ".DB_CHARSET.", character_set_client =
binary");
if (!$con) die("Mysql Error:".mysql_error());
mysql_select_db(DB_NAME,$con);
//$dates=date()
$sqll="insert into test(NAME,Sex,thisdate,state)
values('love','0','2011-08-11','1')";
$resl=mysql_query($sqll);
echo "成功...";
?>
/usr/local/php/bin/php的意思是:用/usr/local/php/bin/目录中的php.exe文件来执行
/var/www/html/wwwroot/web/script.php
第二种情况:你的php脚本中有引入其他PHP文件,也就是说有用到include,require_once命令的PHP文件(先写shell脚本)
上面的方法有一个问题:当script脚本中有include文件时,脚本根本找不对PHP的路径,php将会在/bin/local/php目录下找文件,当然找不到。
所以,遇见这种情况,按照下面的方法做:
在终端上输入如下命令得到sh 和 lynx 程序的路径:
whereis sh
whereis lynx
or
which sh
which lynx
随便输入一个,其中便会返回你要的路径。如果你的系统里没有lynx,试试links,w3m,或者
links2,这些是其它的文本模型浏览器。这些浏览器将会运行你的脚本。
然后你需要创建一个sh文件,用它来调用php文件,通过lynx。假设你的服务器已经安装了lynx,sh路径为
/bin/sh,lynx路径为 /usr/local/bin/lynx
#!/bin/sh
/usr/local/bin/lynx -source
http://www.yoursite.com/folder/script.php
注意感叹号
把这个脚本保存为cron-lynx.sh
保存到一个你找得到的地方,比如:
你可以把它放在网站根目录。
然后再创建一个script.php的文件。当cron运行的时候,将会通过lynx来调用它。这个文件可以通过浏览器来访问。
然后编辑主机的crontab,像下面这样。
*/1 * * * * root /bin/sh
/usr/www/yourdirectory/sh_scripts/cron-lynx.sh
在/bin/sh 和 /usr 间有空格。就这样就设好了,还有一点要注意的是,你的sh文件和php文件都正确无误。
===================================================================================
linux下的crontab服务:
1、crontab 是用来让使用者在固定时间或固定间隔执行程序之用
在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。
以某一频率执行任务
linux缺省会启动crond进程,crond进程不需要用户启动、关闭。
crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度配置文件中。
cron的调度文件有以下几个:
1.
crontab
2.
cron.d
3.
cron.daily
4.
cron.hourly
5.
cron.monthly
6.
cron.weekly
如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab
或cron.d目录中。
示例:
每隔一分钟执行一次脚本 /opt/bin/test-cron.sh
可以在cron.d新建脚本 echo-date.sh
内容为
*/1 * * * * root /opt/bin/test-cron.sh
2、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这个服务已经在进程里面了,我们就可以用这个服务了
查看服务是否已经运行用 ps -ax | grep cron
3、crontab命令
查看该用户下的crontab服务是否创建成功, 用 crontab -l
命令
命令 which php 查看linux下安装的php的路径
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命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
crontab命令选项:

阅读更多 >>>  excel函数if,excel函数ifs用法

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务
4、cron文件语法:


小时


星期
命令

0-59
0-23
1-31
1-12
0-6
command
(取值范围,0表示周日一般一行对应一个任务)

记住几个特殊符号的含义:

“*”代表取值范围内的数字,

“/”代表”每”,

“-”代表从某个数字到某个数字,

“,”分开几个离散的数字
5、任务调度设置文件的写法

可用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参数表示,执行后面目录中的所有可执行文件。 ]
6、 新增调度任务

新增调度任务可用两种方法:

1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
7、 查看调度任务

crontab -l //列出当前的所有调度任务

crontab -l -u jp
//列出用户jp的所有调度任务
8、 删除任务调度工作

crontab -r //删除所有任务调度工作
9、 任务调度执行结果的转向

例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

crontab 怎样开启定时任务

1: crontab文件一般位于/etc/下,这里面存放系统运行的的调度程序。
[root@localhost cron]# more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
2:每个用户都会生成一个自动生成一个自己的crontab文件,一般位于/var/spool/cron目录下
[root@localhost cron]# cd /var/spool/cron
[root@localhost cron]# ls
oracle root
如果你用命令crontab -r 就会删除当前用户的crontab文件,例如你切换到oracle账号下,执行了该命令,那么/var/spool/cron/oracle文件就会删除,如果要创建该文件只需要用crontab -e命令即可。注意,普通用户一般没有权限访问/var/spool/cron
3:cron.deny 与 cron.allow文件
/etc/cron.deny 表示不能使用crontab 命令的用户
/etc/cron.allow 表示能使用crontab的用户。
默认情况下,cron.allow文件不存在。如果两个文件同时存在,那么/etc/cron.allow 优先。如果两个文件都不存在,那么只有超级用户可以安排作业。
但是让人纳闷的是cron.deny文件是空的,如下所示
[oracle@localhost etc]$ more cron.deny
4:cron.hourly,cron.daily,cron.monthly,cron.weekly
[oracle@localhost etc]$ ls -lrt cron*
-rw-r--r-- 1 root root 255 Sep 21 2004 crontab
-rw-r--r-- 1 root root 0 May 16 2008 cron.deny
cron.hourly:
total 0
cron.monthly:
total 8
-rwxr-xr-x 1 root root 278 Sep 29 2004 0anacron
cron.weekly:
total 16
-rwxr-xr-x 1 root root 277 Sep 29 2004 0anacron
-rwxr-xr-x 1 root root 414 Jun 6 2007 00-makewhatis.cron
cron.daily:
total 60
-rwxr-xr-x 1 root root 286 Aug 14 2004 tmpwatch
-rwxr-xr-x 1 root root 276 Sep 29 2004 0anacron
-rwxr-xr-x 1 root root 2133 Dec 1 2004 prelink
-rwxr-xr-x 1 root root 180 May 2 2006 logrotate
-rwxr-xr-x 1 root root 418 Jun 6 2007 00-makewhatis.cron
-rwxr-xr-x 1 root root 104 Aug 2 2007 rpm
-rwxr-xr-x 1 root root 121 Aug 22 2007 slocate.cron
lrwxrwxrwx 1 root root 28 May 16 2008 00-logwatch -> ../log.d/scripts/logwatch.pl
cron.d:
total 12
-rw------- 1 root root 366 Jun 12 2007 sa-update
-rw-r--r-- 1 root root 188 Jul 18 2007 sysstat
CRONTAB在线手册
注意:不同版本的Linux系统,可能crontab手册内容有所出入,请以实际版本为准。
[oracle@localhost ~]$ man crontab | more
CRONTAB(1) CRONTAB(1)
NAME
crontab - maintain crontab files for individual users (ISC Cron V4.1)
SYNOPSIS
crontab [-u user] file
crontab [-u user] [-l | -r | -e] [-i] [-s]
DESCRIPTION
Crontab is the program used to install, deinstall or list the tables
used to drive the cron(8) daemon in ISC Cron. Each user can have their
own crontab, and though these are files in /var/spool/ , they are not
intended to be edited directly. For SELinux in mls mode can be even
more crontabs - for each range. For more see selinux(8).
If the cron.allow file exists, then you must be listed therein in order
to be allowed to use this command. If the cron.allow file does not
exist but the cron.deny file does exist, then you must not be listed in
the cron.deny file in order to use this command. If neither of these
files exists, only the super user will be allowed to use this command.
OPTIONS
-u It specifies the name of the user whose crontab is to be
tweaked. If this option is not given, crontab examines "your"
crontab, i.e., the crontab of the person executing the command.
Note that su(8) can confuse crontab and that if you are running
inside of su(8) you should always use the -u option for safety's
sake. The first form of this command is used to install a new
crontab from some named file or standard input if the pseudo-
filename "-" is given.
-l The current crontab will be displayed on standard output.
-r The current crontab will be removed.
-e This option is used to edit the current crontab using the editor
specified by the VISUAL or EDITOR environment variables. After
you exit from the editor, the modified crontab will be installed
automatically.
-i This option modifies the -r option to prompt the user for a
'y/Y' response before actually removing the crontab.
-s It will append the current SELinux security context string as an
MLS_LEVEL setting to the crontab file before editing / replace-
ment occurs - see the documentation of MLS_LEVEL in crontab(5).
SEE ALSO
crontab(5), cron(8)
FILES
/etc/cron.allow
/etc/cron.deny
STANDARDS
The crontab command conforms to IEEE Std1003.2-1992 (‘‘POSIX''). This
new command syntax differs from previous versions of Vixie Cron, as
well as from the classic SVR3 syntax.
DIAGNOSTICS
A fairly informative usage message appears if you run it with a bad
command line.
AUTHOR
Paul Vixie

阅读更多 >>>  linux每分钟执行一个命令

4th Berkeley Distribution 16 Januar 2007 CRONTAB(1)

CRONTAB语法及应用

1:查看当前用户的定时任务

[oracle@localhost ~]$ crontab -l

* * * * * /home/oracle/test.sh >/dev/null 2>&1

2:编辑当前用户的定时任务

可以在编辑状态修改、删除、新增一些定时任务。注释一般用#

[oracle@localhost ~]$ crontab -e

3:删除当前用户的定时任务

[root@localhost ~]# crontab -r

[root@localhost ~]# crontab -l

no crontab for root

4:

如下所示,一般crontab文件里面的定时任务格式如下所示:

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

crontab 文件中每个条目中各个域的意义和格式:

第一列 分钟: 1——59

第二列 小时: 1——23(0表示子夜)

第三列 日 : 1——31

第四列 月 : 1——12

第五列 星期: 星期0——6(0表示星期天,1表示星期一、以此类推)

第六列 要运行的命令

我们暂且用C1、C2、C3、C4、C5、C6代表这六列,前面五列通过组合方式来决定执行脚本的频率,最小频率为每分钟执行一次,其中Cn可以用 * ; */n ; T1-T2; a,b,c; 四种形式来表示:

当 C1 为 * 时表示每分钟都要执行脚本,C2 为 * 时表示每小时都要执行程式,依次类推.....

当 C1 为 T1-T2 时表示从第 T1 分钟到第 T2 分钟这段时间内要执行,C2 为 T1-T2 时表示从第 T1 到第 T2 小时都要执行,依次类推....

当 C1 为 */n 时表示每 n 分钟的时间间隔执行一次,C2 为 */n 表示每隔n小时的间隔执行一次,依次类推.....

当 C1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,C2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,依次类推....

下面列举几个例子供大家参考

1: 59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

表示每天23点59分执行脚本/home/oracle/scripts/alert_log_archive.sh

2: */5 * * * * /home/oracle/scripts/monitoring_alert_log.sh >/dev/null 2>&1

表示每5分钟执行一次脚本/home/oracle/scripts/monitoring_alert_log.sh

3: 0 20 * * 1-5 mail -s "**********" kerry@domain.name < /tmp/maildata

周一到周五每天下午 20:00 寄一封信给 kerry@domain.name

..............................................

关于 >/dev/null 2>&1 的解释:

0表示键盘输入

1表示标准输出

2表示错误输出.

我们首先创建test.sh脚本如下:

#! /bin/sh

echo "hello, everybody, now is " `date`

date >> test.txt

然后添加作业

* * * * * /home/oracle/test.sh >/home/oracle/log.txt & 默认值为1,即和下面命令一致

* * * * * /home/oracle/test.sh 1>/home/oracle/log.txt &

* * * * * /home/oracle/test.sh 2>/home/oracle/log.txt &

* * * * * /home/oracle/test.sh 2>/home/oracle/log.txt 2>&1 &

1,2将tesh.sh 命令输出重定向到log.txt, 即输出内容不打印到屏幕上,而是输出到log.txt文件中。如果你需要追加而不是覆盖,可以用 >>代替>

2>&1 是将错误输出重定向到标准输出。 然后将标准输入重定向到文件log.txt。

&1 表示的是文件描述1,表示标准输出,如果这里少了&就成了数字1,就表示重定向到文件1。

注意事项:

配置定时任务时,需要注意两个问题:

1: 在SHELL中设置了必要的环境变量;例如一个shell脚本手工执行OK,但是配置成后台作业执行时,获取不到ORACLE的环境变量,这是因为crontab环境变量问题,Crontab的环境默认情况下并不包含系统中当前用户的环境。所以,你需要在shell脚本中添加必要的环境变量的设置

2: 尽量所有的文件都采用完全路径方式,避免使用相对路径。

怎样在linux中使用crontab编写一个定时任务,可以实现以下功能:

1、 crontab命令概念
crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。
crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许
用户拥有自己的crontab文件。
2、检查是否安装了crontab,如果提示未安装请自行安装,crontab安装包在系统光盘里面的pacekage文件夹 相对应的crontab安装包。
3、 crontab服务启动与关闭。
4、 全局配置文件:
crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件。
cron.daily是每天执行一次的job
cron.weekly是每个星期执行一次的job
cron.monthly是每月执行一次的job
cron.hourly是每个小时执行一次的job
cron.d是系统自动定期需要做的任务
crontab是设定定时任务执行文件
cron.deny文件就是用于控制不让哪些用户使用Crontab的功能
5、 用户配置文件:
每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容.
6、 crontab文件格式:
* * * * * command
minute hour day month week command
分 时 天 月 星期 命令
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
7、 特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
8、在home目录下编写一个test.sh脚本,脚本功能是把/home下ifcfg-eth0这个文本复制到/mnt目录下。
9、运行crontab –e 编写一条定时任务 */5 * * * * /home/test.sh 在每5分钟执行一次test.sh脚本。
10、查询当前用户定时任务或删除当前用户定时任务。
11、设置crond开机自动启动。
12、实例:

Kali-linux 定时执行任务Crontab的简单设置

1.修改crontab文件添加或修改定时任务

直接编辑文件:nano /etc/crontab

或使用crontab命令:crontab -e

2.语法介绍:

里面已经有一些test示例,照着添加或修改就行,这里做点简单介绍:

time user command

分 ? ? ? ? ? ? ? ? 时 ? ? ? ? ? ? 天 ? ? ? ? ? 月 ? ? ? ? ? ? ? 星期 ? ? ? ? ? ? ? ? ? ?用户 ? ? ? ? ? ? ?命令

minute ? ? ? ? hour ? ? ? ? day ? ? ? ? month ? ? ? ? dayofweek ? ? ? ? user ? ? ? ? ? ? ?command

A. 时间 time:

minute: 分钟,从 0 到 59 之间的任何整数

hour: 小时,从 0 到 23 之间的任何整数

day: 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)

month: 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)

dayofweek: 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)

command: 要执行的命令(command是linux终端可以直接执行的命令。)

这里一些符号可以表示以上特殊数值:

*表示所有有效值

-表示范围, 比如1-4(从1到4)

,表示散数数值, 比如1,2,4,7...

/表示每隔,比如 */19 (每隔19 )

看一些简单的例子,以下是我自己的一个crontab文件:

root@mtx:~#crontab -l

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow usercommand

#17 ** * *root ? ?cd / && run-parts --report /etc/cron.hourly#每小时的17分

#25 6* * *roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )#每天6点25分

#47 6* * 7roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )#每年7月份里每一天的6点47分

#52 61 * *roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )#每个月1号的6点52分

*/4 * ? * * * ? root ? ?/home/Tool/httpslow/httpslow.sh &#每4分钟

#

B. 命令 command

命令command直接是linux终端可以执行的命令或可执行脚本的绝对位置

3.使用方法:

crontab crontab_file (-u user)#如crontab /etc/crontab -u root (root用户执行默认配置文件)

crontab -l#查看当前正在运行的crontab服务

crontab -r#删除用户crontab配置文件

crontab -i#删除前给出提示

crontab -h#查看帮助

/etc/init.d/cron start/stop/restart/reload#启动/停止/重启/重新加载 crontab服务

简单的临时重复命令完全可以有其他方案代替:

while true;do clear && echo '您的ip地址是:' && wget -qo- ifconfig.me/ip;sleep 120;done

#每2分钟刷新一次外网ip地址,并打印出来”

watch -n 5 netstat -nus#显示网络流量,每5秒刷新一次

。。。

网站数据信息

"crontab每天1点执行,crontab每周一执行一次(linux crontab命令详解)"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:crontab每天1点执行,crontab每周一执行一次(linux crontab命令详解)的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!