crontab实例+详解 (附:freebsd每天6点重启)
crontab用法

在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@ :
0 17 * * 1-5 mail -s "hi" alex@ < /tmp/maildata
#
# 设定每 5 分钟执行一次atrun。
*/5 * * * * root /usr/libexec/atrun
# 设定每天一点零一分时执行 /bin/check
1 1 * * * root /bin/check
# 设定每周一 3:11 分执行 week_check
11 3 * * 1 root /usr/local/week_check
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子1 :
#每天早上7点执行一次 /bin/ls :
MAILTO=""
#
# 分 小时 天 月 星期几 身份 指令
#minute hour mday month wday who command
#
*/5 * * * * root /usr/libexec/atrun
minute:代表一小时内的第几分,范围 0-59。
hour:代表一天中的第几小时,范围 0-23。
linux 定时器crontab

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执
行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
基本格式 :
* * * * * command
分 时 日 月 周 命令
crontab定时运行命令解析

linux 定时运行程序转crontab,无论root还是user都可以用。
基本用法: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[例7]# crontab -l #列出用户目前的crontab。
10 6 * * * date0 */2 * * * date0 23-7/2,8 * * * date#在crontab文件中如何输入需要执行的命令和时间。
该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
每个域之间使用空格或者制表符分隔。
格式如下:minute hour day-of-month month-of-year day-of-week commands第一项是分钟,第二项是小时,第三项是一个月的第几天,第四项是一年的第几个月,第五项是一周的星期几,第六项是要执行的命令。
crontab命令详解含启动重启停止

crontab命令详解含启动重启停⽌linux 系统则是由 cron (crond) 这个系统服务来控制的。
Linux 系统上⾯原本就有⾮常多的计划性⼯作,因此这个系统服务是默认启动的。
另外, 由于使⽤者⾃⼰也可以设置计划任务,所以, Linux 系统也提供了使⽤者控制计划任务的命令 :crontab 命令。
⼀、crond简介crond 是linux下⽤来周期性的执⾏某种任务或等待处理某些事件的⼀个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务⼯具,并且会⾃动启动crond进程,crond进程每分钟会定期检查是否有要执⾏的任务,如果有要执⾏的任务,则⾃动执⾏该任务。
Linux下的任务调度分为两类,系统任务调度和⽤户任务调度。
系统任务调度:系统周期性所要执⾏的⼯作,⽐如写缓存数据到硬盘、⽇志清理等。
在/etc⽬录下有⼀个crontab⽂件,这个就是系统任务调度的配置⽂件。
/etc/crontab⽂件包括下⾯⼏⾏:[root@localhost ~]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=””HOME=/# run-parts51 * * * * root run-parts /etc/cron.hourly24 7 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly[root@localhost ~]#前四⾏是⽤来配置crond任务运⾏的环境变量,第⼀⾏SHELL变量指定了系统要使⽤哪个shell,这⾥是bash,第⼆⾏PATH变量指定了系统执⾏命令的路径,第三⾏MAILTO变量指定了crond的任务执⾏信息将通过电⼦邮件发送给root⽤户,如果MAILTO变量的值为空,则表⽰不发送任务执⾏信息给⽤户,第四⾏的HOME变量指定了在执⾏命令或者脚本时使⽤的主⽬录。
crontab 实例

crontab 实例什么是crontab?如何使用crontab?为什么使用crontab?有哪些常见的crontab用法?如何管理crontab任务?crontab的一些注意事项?回答什么是crontab?Crontab是一个在UNIX和类UNIX操作系统上的时间基准工具。
它允许用户在特定的时间间隔内运行预定的命令或脚本。
Crontab的名称来源于其使用的命令行工具`crontab`,它用于安装、编辑和管理用户个人的cron job列表。
如何使用crontab?要使用crontab,首先需要了解它的格式。
一个典型的crontab包含了五个字段,分别表示分钟、小时、日期、月份和星期。
这些字段中的每一个都可以用一个具体的数值或一个通配符来表示。
通配符包括星号(*),表示所有值,以及逗号(,)和斜杠(/),用于指定具体的数值范围或间隔。
例如,下面是一个简单的crontab示例,每周五下午3点运行一个shell 脚本:0 15 * * 5 /home/user/script.sh在这个示例中,0表示分钟字段,15表示小时字段,*表示日期字段(即每天),5表示月份字段(即每周五),`/home/user/script.sh`是要运行的脚本。
要安装一个crontab任务,可以使用`crontab`命令加上一个选项,例如:crontab -e这个命令将打开一个文本编辑器,允许您编辑您的crontab列表。
每一行都表示一个cron job。
通过添加每个cron job的配置,您可以在crontab中定期运行任务。
为什么使用crontab?Crontab非常适合需要自动化执行的任务。
它可以帮助您定期备份文件、运行系统维护任务、生成报告等等。
您无需手动运行这些任务,只需设置正确的时间和命令,crontab将会在给定的时间自动运行您指定的脚本或命令。
使用crontab还可以提高工作效率。
通过将一些重复性的任务交给crontab处理,您可以专注于完成其他更重要的事情,而不用担心错过任务的执行时机。
Crontab详细用法-定时任务详解

Crontab详细⽤法-定时任务详解Cron表达式是⼀个字符串,字符串以5或6个空格隔开,分为6或7个域,每⼀个域代表⼀个含义,Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek Year或Seconds Minutes Hours DayofMonth Month DayofWeek每⼀个域可出现的字符如下:Seconds:可出现", - * /"四个字符,有效范围为0-59的整数Minutes:可出现", - * /"四个字符,有效范围为0-59的整数Hours:可出现", - * /"四个字符,有效范围为0-23的整数DayofMonth:可出现", - * / ? L W C"⼋个字符,有效范围为0-31的整数Month:可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEcDayofWeek:可出现", - * / ? L C #"四个字符,有效范围为1-7的整数或SUN-SAT两个范围。
1表⽰星期天,2表⽰星期⼀,依次类推Year:可出现", - * /"四个字符,有效范围为1970-2099年每⼀个域都使⽤数字,但还可以出现如下特殊字符,它们的含义是:(1)*:表⽰匹配该域的任意值,假如在Minutes域使⽤*, 即表⽰每分钟都会触发事件。
(2)?:只能⽤在DayofMonth和DayofWeek两个域。
它也匹配域的任意值,但实际不会。
因为DayofMonth和 DayofWeek会相互影响。
例如想在每⽉的20⽇触发调度,不管20⽇到底是星期⼏,则只能使⽤如下写法: 13 13 15 20 * ?, 其中最后⼀位只能⽤?,⽽不能使⽤*,如果使⽤*表⽰不管星期⼏都会触发,实际上并不是这样。
关于定时执行任务:Crontab的20个例子

关于定时执⾏任务:Crontab的20个例⼦Crontab在Linux上的结构从左到右依次为:[分钟] [⼩时] [每⽉的某⼀天] [每年的某⼀⽉] [每周的某⼀天] [执⾏的命令]注意:请留意每个选项的取值范围。
添加或更新crontab中的命令crontab -e查看当前系统登录⽤户的Crontab命令集合crontab -l20个超实⽤的Crontab使⽤实例每天 02:00 执⾏任务0 2 * * * /bin/sh backup.sh每天 5:00和17:00执⾏任务0 5,17 * * * /scripts/script.sh每分钟执⾏⼀次任务通常情况下,我们并没有每分钟都需要执⾏的脚本(默默的想到了12306--)* * * * * /scripts/script.sh每周⽇ 17:00 执⾏任务0 17 * * sun /scripts/script.sh每 10min 执⾏⼀次任务*/10 * * * * /scripts/monitor.sh在特定的某⼏个⽉执⾏任务* * * jan,may,aug * /script/script.sh在特定的某⼏天执⾏任务0 17 * * sun,fri /script/scripy.sh在每周五、周⽇的17点执⾏任务在某个⽉的第⼀个周⽇执⾏任务0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh每四个⼩时执⾏⼀个任务0 */4 * * * /scripts/script.sh每周⼀、周⽇执⾏任务0 4,17 * * sun,mon /scripts/script.sh每个30秒执⾏⼀次任务我们没有办法直接通过上诉类似的例⼦去执⾏,因为最⼩的是1min。
但是我们可以通过如下的⽅法。
* * * * * /scripts/script.sh* * * * * sleep 30; /scripts/script.sh多个任务在⼀条命令中配置* * * * * /scripts/script.sh; /scripts/scrit2.sh每年执⾏⼀次任务@yearly /scripts/script.sh@yearly 类似于“0 0 1 1 *”。
crontab 实例

crontab 实例
摘要:
1.crontab 简介
2.crontab 实例
3.crontab 的使用注意事项
正文:
1.crontab 简介
crontab 是一个用于定时执行任务的Linux 命令。
该命令可以让用户在特定时间或者时间间隔内执行特定的任务,非常适合用于执行周期性的任务,例如定时备份文件、定时清理日志等。
2.crontab 实例
下面是一个crontab 的实例,该实例将会在每天早上7 点和晚上11 点执行相应的任务。
```
0 7 * * * /usr/bin/ls
0 23 * * * /usr/bin/ls
```
上述实例中,每行代表一个任务,分别表示在每天的早上7 点和晚上11 点执行/usr/bin/ls 命令,该命令用于列出当前目录下的所有文件和文件夹。
3.crontab 的使用注意事项
在使用crontab 时,需要注意以下几点:
- 时间字段不能有空格,否则会导致任务无法执行。
- 时间字段中的数字表示小时、分钟、秒,每个字段之间用空格隔开。
- 如果任务需要执行多个命令,需要用分号隔开。
- 如果任务需要定期执行,需要用星号(*) 表示时间间隔。
- 务必确保要执行的任务的文件路径和命令正确无误,否则会导致任务无法执行。
crontab用法详解实例

Linux crontab日志讲解crontab是Linux下最常用的计划任务服务。
本文跟大家分享一下有关linux crontab日志存放的一些心得,希望本文能教会你更多东西。
默认情况下,crontab中执行的日志写在/var/log下,如:#ls /var/log/cron*/var/log/cron /var/log/cron.1 /var/log/cron.2 /var/log/cron.3 /var/log/cron.4 如果日志有问题,可以参考以下做法:为crontab增加日志crontab的日志比较简单,当crond执行任务失败时会给用户发一封邮件。
恰巧在我们的一台服务器上发现一个任务没有正常执行,而且crond发邮件也失败了。
通过看mail的日志,看到是磁盘空间不足造成的。
此外,同事帮我为crontab中的任务增加自己的日志,这样出错后,比较容易看到原因。
0 6 * * * $HOME/for_crontab/createTomorrowTables >> $HOME/for_crontab/mylog.log 2>&1把错误输出和标准输出都输出到mylog.log中。
注意:不要写成0 6 * * * $HOME/for_crontab/createTomorrowTables 2>&1 >>$HOME/for_crontab/mylog.log否则就输出到标准输出了Linux的自动执行程序cron和crontab假如你有一些任务要定期执行,比如清理磁盘、删除过期文件、发送邮件和提醒,这个时候可以用cron来帮你。
首先是安装,大多数发行版都预装了,Gentoo下的cron有许多种实现,可以用emerge--search cron来查看,这里用vixie-cron,因为功能比较完整,命令语法也比较通用。
# emerge vixie-cron之后要启动cron服务:# /etc/init.d/vixie-cron start别忘了把cron加入到启动脚本中:# rc-update add vixie-cron default完成安装。
crontab用法详解

crontab用法详解1.crontab的用法crontab简述:crontab命令的功能是在一定的时间间隔调度一些命令的执行。
在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。
每个用户可以建立自己的调度crontab。
crontab命令crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。
也就是说,用户把需要执行的命令序列放到crontab文件中以获得执行。
每个用户都可以有自己的crontab 文件。
下面就来看看如何创建一个crontab文件。
在/var/spool/cron下的crontab文件不可以直接创建或者直接修改。
crontab文件是通过crontab命令得到的。
现在假设有个用户名为foxy,需要创建自己的一个crontab文件。
首先可以使用任何文本编辑器建立一个新文件,然后向其中写入需要运行的命令和要定期执行的时间。
然后存盘退出。
假设该文件为/tmp/test.cron。
再后就是使用crontab命令来安装这个文件,使之成为该用户的crontab文件。
键入:crontab test.cron这样一个crontab 文件就建立好了。
可以转到/var/spool/cron目录下面查看,发现多了一个foxy文件。
这个文件就是所需的crontab 文件。
用more命令查看该文件的内容可以发现文件头有三行信息:#DO NOT EDIT THIS FILE -edit the master and reinstall.#(test.cron installed on Mon Feb 22 14:20:20 1999)#(cron version --$Id:crontab.c,v 2.13 1994/01/17 03:20:37 vivie Exp $)大概意思是:#切勿编辑此文件——如果需要改变请编辑源文件然后重新安装。
#test.cron文件安装时间:14:20:20 02/22/1999如果需要改变其中的命令内容时,还是需要重新编辑原来的文件,然后再使用crontab 命令安装。
Linuxcrontab命令详解(含配置文件路径)

Linuxcrontab命令详解(含配置⽂件路径)编辑/etc/crontab ⽂件配置croncron 服务每分钟不仅要读⼀次/var/spool/cron内的所有⽂件,还需要读⼀次/etc/crontab,因此我们配置这个⽂件也能运⽤cron服务做⼀些事情。
⽤crontab配置是针对某个⽤户的,⽽编辑/etc/crontab是针对系统的任务。
此⽂件的⽂件格式是:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号HOME=/ //使⽤者运⾏的路径,这⾥是根⽬录# run-parts01 * * * * 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内的脚本#####################################################################################################在 Linux 中,任务可以被配置在指定的时间段、指定的⽇期、或系统平均载量低于指定的数量时⾃动运⾏。
红帽企业 Linux 预配置了对重要系统任务的运⾏,以便使系统能够时时被更新。
譬如,被 locate 命令使⽤的 slocate 数据库每⽇都被更新。
crontab命令详解

在UNIX下怎样实现和Windows下“计划任务”一样的功能$crontab -e 编辑脚本$crontab -l 察看脚本用$crontab -e 编辑脚本,加入下列行:分小时星期月命令Linux下crontab命令的用法任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。
当安装完成操作系统之后,默认便会启动此任务调度命令。
crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置3、Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:文件含义/etc/cron.deny 该文件中所列的用户不允许使用Crontab命令/etc/cron.allow 该文件中所列的用户允许使用Crontab命令/var/spool/cron/ 是所有用户的crontab文件/var/spool/cron/crontabs4、Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:参数名称含义示例-l 显示用户的Crontab文件的内容crontabl –l-i 删除用户的Crontab文件前给提示crontabl -ri-r从Crontab目录中删除用户的Crontab文件crontabl -r-e编辑用户的Crontab文件crontabl -e5、用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。
它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,格式如下:* * * * *其时间段的含义如表二:段含义取值范围第一段代表分钟 0—59第二段代表小时 0—23第三段代表日期 1—31第四段代表月份 1—12第五段代表星期几 0代表星期日名称 : crontab使用权限 : 所有使用者使用方式 :crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }说明 :crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
crontab详解

crontab详解crontab命令常见于Unix和Linux的操作系统之中,⽤于设置周期性被执⾏的指令。
该命令从标准输⼊设备读取指令,并将其存放于“crontab”⽂件中,以供之后读取和执⾏。
通常,crontab储存的指令被守护进程激活。
crond常常在后台运⾏,每⼀分钟检查是否有预定的作业需要执⾏。
这类作业⼀般称为cron jobs。
1. 安装crontabyum -y install vixie-cronyum -y install crontabs说明:vixie-cron 软件包是 cron 的主程序;crontabs 软件包是⽤来安装、卸装、或列举⽤来驱动 cron 守护进程的表格的程序。
2. 操作命令cron 是 linux 的内置服务,但它不⾃动起来,可以⽤以下的⽅法启动、关闭这个服务:systemctl start crond #启动服务systemctl stop crond #关闭服务systemctl restart crond #重启服务systemctl reload crond #重新载⼊配置systemctl status crond #查看crontab服务状态systemctl enable crond #开启开机⾃动启动systemctl disable crond #禁⽌开机⾃动启动or/sbin/service crond start #启动服务/sbin/service crond stop #关闭服务/sbin/service crond restart #重启服务/sbin/service crond reload #重新载⼊配置ntsysv #查看crontab服务是否已设置为开机启动chkconfig –level 35 crond on #开机⾃动启动3.cron配置cron 的主配置⽂件是 /etc/crontab,它包括下⾯⼏⾏:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For details see man4 crontabs# Example of job definition:# .---------------- 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# | | | | |# * * * * * user-name command to be executed前四⾏是⽤来配置 cron 任务运⾏环境的变量。
crontab实例+详解 (附:freebsd每天6点重启)

crontab实例+详解(附:freebsd每天6点重启)crontab实例+详解########################1######################################crontab语法:crontab [-u <用户名称>][配置文件] 或crontab [-u <用户名称>][-elr]补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。
只要用户会编辑计时器的配置文件,就可以使用计时器的功能。
其配置文件格式如下:Minute Hour Day Month DayOFWeek Command配置命令的取值范围:minute (0-59), hour (0-23), day of the month (1-31), month of the year (1-12), day of the week (0-6 with 0=Sunday).参数:-e 编辑该用户的计时器设置。
-l 列出该用户的计时器设置。
-r 删除该用户的计时器设置。
-u<用户名称> 指定要设定计时器的用户名称。
详细说明:时程表的格式如下:f1 f2 f3 f4 f5 program其中f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。
program 表示要执行的程序。
当f1 为* 时表示每分钟都要执行program,f2 为* 时表示每小时都要执行程序,其余类推当f1 为a-b 时表示从第a 分钟到第b 分钟这段时间内要执行,f2 为a-b 时表示从第a 到第 b 小时都要执行,其余类推当f1 为*/n 时表示每n 分钟个时间间隔执行一次,f2 为*/n 表示每n 小时个时间间隔执行一次当f1 为a, b, c,... 时表示第a, b, c,... 分钟要执行,f2 为a, b, c,... 时表示第a, b, c...个小时要执行使用者也可以将所有的设定先存放在档案file 中,用crontab file 的方式来设定时程表。
提高效率Linux命令行中的高级定时任务技巧

提高效率Linux命令行中的高级定时任务技巧在Linux命令行中,高级定时任务技巧可以帮助提高工作效率。
通过合理地设置定时任务,我们可以自动化一些重复性的操作,减少人力成本和时间浪费。
本文将介绍一些常用的高级定时任务技巧,帮助您更好地利用Linux命令行,提高工作效率。
一、使用crontab命令定时执行任务Crontab是Linux系统中用于设置周期性定时任务的命令。
通过编写cron表达式,我们可以指定具体的时间和频率,来执行某个命令或脚本。
1. 编辑crontab文件我们首先使用crontab命令编辑定时任务的配置文件。
打开终端,输入以下命令:```crontab -e```如果是第一次编辑定时任务,系统会提示选择一个文本编辑器。
选择您熟悉的编辑器后,会打开一个文本文件,用于编辑定时任务。
2. 编写cron表达式每行一个定时任务,每个定时任务的格式如下:```* * * * * command```其中,每个星号代表一个时间字段,从左到右分别是分钟、小时、日期、月份和星期。
星号代表所有可能的取值。
举个例子,如果我们要每天早上6点执行一个脚本,我们可以这样写:```0 6 * * * /path/to/script.sh```这样就表示在每天的6点整执行/path/to/script.sh这个脚本。
3. 编写特定时间段的定时任务除了通用的cron表达式,还有一些特殊的表达式可以让我们更灵活地设置定时任务。
- 在指定时间段内执行任务:```0 9-17 * * 1-5 command```上面的例子表示在周一到周五的9点到17点之间,每小时执行一次command命令。
- 每隔一段时间执行任务:```*/10 * * * * command```上述表达式表示每隔10分钟执行一次command命令。
4. 保存并退出编辑完定时任务后,按下“Ctrl + X”组合键,然后输入“y”以保存修改,最后按下“Enter”键退出编辑器。
crontab命令设置使用详解

crontab命令设置使用详解名称 : crontab使用权限 : 所有使用者使用方式 :crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }说明 :crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。
如果不使用 -u user 的话,就是表示设定自己的时程表。
参数 :crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)crontab -r : 删除目前的时程表crontab -l : 列出目前的时程表crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :f1 f2 f3 f4 f5 program其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。
program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
linux 计划任务案例

linux 计划任务案例Linux中的计划任务(cron jobs)是用于在指定的时间或按照一定的时间间隔自动执行命令或脚本的工具。
下面是一个简单的计划任务案例,可以帮助您了解如何设置和管理计划任务。
案例描述:假设您想要每天早上6点自动备份某个目录到另一个目录中。
步骤:1.打开终端,使用root用户或具有sudo权限的用户登录。
2.输入以下命令打开cron配置文件:复制代码crontab -e3.在打开的编辑器中,添加以下行来设置计划任务:bash复制代码0 6 * * * /path/to/backup_script.sh上述命令表示每天早上6点执行/path/to/backup_script.sh脚本。
请确保将/path/to/backup_script.sh替换为您实际的备份脚本路径。
4. 保存并关闭编辑器。
5. 创建一个名为backup_script.sh的脚本文件,并将以下内容添加到脚本中:bash复制代码#!/bin/bash# 备份脚本示例source/path/to/your_directory_to_backup # 替换为您要备份的目录路径destination_directory=/path/to/backup_directory # 替换为您要备份到的目录路径# 使用cp命令进行备份cp -r $source_directory$destination_directory 请确保将/path/to/your_directory_to_backup替换为您要备份的实际目录路径,并将/path/to/backup_directory替换为您要将备份存储到的实际目录路径。
6. 保存并关闭脚本文件。
7. 在终端中,使用以下命令为脚本文件添加执行权限:bash复制代码chmod +x /path/to/backup_script.sh8.完成以上步骤后,计划任务将自动在每天早上6点执行,并将指定的目录备份到指定的目标目录中。
celery crontab例子

celery crontab例子以下是一个使用Celery和crontab的例子:假设你有一个名为tasks.py的Celery任务文件,其中包含一个名为task_example的任务。
你想要使用crontab来调度这个任务,让它每天早上6点运行。
首先,你需要在tasks.py中定义你的任务,例如:python.from celery import Celery.from celery.schedules import crontab.app = Celery('tasks',broker='pyamqp://guest@localhost//')。
@app.task.def task_example():# 这里是你任务的具体代码。
pass.然后,你可以在同一个文件中配置crontab的调度规则,例如: python.app.conf.beat_schedule = {。
'run-task-every-morning': {。
'task': 'tasks.task_example',。
'schedule': crontab(hour=6, minute=0),。
},。
}。
在这个例子中,我们使用了`app.conf.beat_schedule`来定义一个名为'run-task-every-morning'的调度任务,它将任务`tasks.task_example`调度为每天早上6点运行。
最后,你需要运行Celery的调度器和工作进程,以便它们能够按照你的调度规则执行任务。
你可以使用以下命令启动Celery调度器:bash.celery -A tasks beat.然后使用以下命令启动Celery工作进程:bash.celery -A tasks worker --loglevel=info.这样,你就可以使用Celery和crontab来调度任务并在特定时间运行它们了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
crontab实例+详解(附:freebsd每天6点重启)crontab实例+详解########################1######################################crontab语法:crontab [-u <用户名称>][配置文件] 或crontab [-u <用户名称>][-elr]补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。
只要用户会编辑计时器的配置文件,就可以使用计时器的功能。
其配置文件格式如下:Minute Hour Day Month DayOFWeek Command配置命令的取值范围:minute (0-59), hour (0-23), day of the month (1-31), month of the year (1-12), day of the week (0-6 with 0=Sunday).参数:-e 编辑该用户的计时器设置。
-l 列出该用户的计时器设置。
-r 删除该用户的计时器设置。
-u<用户名称> 指定要设定计时器的用户名称。
详细说明:时程表的格式如下:f1 f2 f3 f4 f5 program其中f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。
program 表示要执行的程序。
当f1 为* 时表示每分钟都要执行program,f2 为* 时表示每小时都要执行程序,其余类推当f1 为a-b 时表示从第a 分钟到第b 分钟这段时间内要执行,f2 为a-b 时表示从第a 到第 b 小时都要执行,其余类推当f1 为*/n 时表示每n 分钟个时间间隔执行一次,f2 为*/n 表示每n 小时个时间间隔执行一次当f1 为a, b, c,... 时表示第a, b, c,... 分钟要执行,f2 为a, b, c,... 时表示第a, b, c...个小时要执行使用者也可以将所有的设定先存放在档案file 中,用crontab file 的方式来设定时程表。
引用例子:每月每天7点的第0 分钟执行一次/bin/ls : 0 7 * * * /bin/ls在12 月内, 每天的早上6 点到12 点中,每隔20 分钟执行一次/usr/bin/backup : 0 6-12/20 * 12 * /usr/bin/backup周一到周五每天下午5:00 寄一封信给wen.yang@ :0 17 * * 1-5 mail -s "hi" wen.yang@ < /tmp/maildata每月每天的午夜0 点20 分, 2 点20 分, 4 点20 分....执行echo "haha"20 0-23/2 * * * echo "haha"附带:Freebsd取昨天日期方法:date -v -1d +%Y%m%dFreebsd取上个周今日方法:date -v -1w +%Y%m%dFreebsd取上个月今日方法:date -v -1m +%Y%m%dFreebsd取去年今日的方法:date -v -1y +%Y%m%d基本格式:*****command分时日月周命令第1列表示分钟1~59 每分钟用*或者*/1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令crontab文件的一些例子:30 21 * * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart每一小时重启apache* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart晚上11点到早上7点之间,每隔一小时重启apache0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart每月的4号与每周一到周三的11点重启apache0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart一月一号的4点重启apache########################2############################################### #设置每一分钟执行一次我的程序:# crontab -e* */1 * * * /home/lfzhou/vhost/vhost/sbin/service crond stop //关闭服务/sbin/service crond start //启动服务或/sbin/service crond reload //重新载入配置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这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。
时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:分钟(0-59)小時(0-23)日期(1-31)月份(1-12)星期(0-6)//0代表星期天除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/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 line1月1日早上4点0 4 1 1 * command line每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。
cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。
因此此文件修改后不需要重新启动cron服务。
2、编辑/etc/crontab 文件配置croncron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。
用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。
此文件的文件格式是:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号HOME=/ //使用者运行的路径,这里是根目录# run-parts01 * * * * 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"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。