linux定时执行crontab

合集下载

如何使用crontab命令在Linux中设置定时任务

如何使用crontab命令在Linux中设置定时任务

如何使用crontab命令在Linux中设置定时任务在Linux中设置定时任务是一项非常重要的技能,它可以帮助我们自动化重复性的任务,提高工作效率。

而crontab命令是Linux系统中用来管理定时任务的工具。

本文将介绍如何使用crontab命令来设置定时任务。

一、什么是crontab命令Crontab(Cron Table)是Linux系统中用来管理定时任务的工具,它允许用户在指定的时间自动执行特定的命令或脚本。

Crontab命令是由cron守护进程控制的,该守护进程会在指定的时间间隔内检查用户的crontab文件,并执行相应的任务。

二、创建和编辑crontab文件要创建和编辑crontab文件,可以使用以下命令:```crontab -e```这个命令会打开一个文本编辑器,你可以在其中添加或修改定时任务。

三、crontab文件的格式crontab文件中每一行代表一个定时任务,格式如下:分时日月周命令```其中,分表示分钟,时表示小时,日表示日期,月表示月份,周表示星期。

命令是要执行的命令或脚本。

每个字段可以是一个具体的数值,也可以是一个用逗号分隔的数值列表,或者是一个数值范围。

四、设置定时任务的示例以下是一些使用crontab命令设置定时任务的示例:1. 每天晚上8点执行一个命令:```0 20 * * * command```2. 每隔5分钟执行一个命令:```*/5 * * * * command```3. 每个月的1号凌晨3点执行一个命令:```0 3 1 * * command4. 每周一到周五的上午9点执行一个命令:```0 9 * * 1-5 command```五、常用的时间单位符号在crontab文件中,我们可以使用一些特殊的时间单位符号,如下所示:- *:代表所有值,比如在分钟字段中使用 * 表示每分钟都执行。

- */n:表示每隔n个单位执行一次,比如在小时字段中使用 */2 表示每隔两个小时执行一次。

Linux定时任务与开机自启动脚本(cron与crontab)

Linux定时任务与开机自启动脚本(cron与crontab)

Linux定时任务与开机⾃启动脚本(cron与crontab)开机⾃启动脚本⽹上常见的脚本开机⾃启⽅法是:假设要⾃启的脚本位于 /home/user/test.sh给脚本可执⾏的权限sudo chmod +x /home/user/test.sh将脚本⽂件放到 /etc/init.d/ ⽬录下sudo cp /home/user/test.sh /etc/init.d链接到/etc/rc.d/sudo ln -s /etc/init.d/start_my_app /etc/rc.d/这样在新的diban系统中可能不能⽣效,要LSB 兼容之类,脚本还要提供start, stop, restart, force-reload,等命令,具体参考因此这⾥推荐使⽤另外⼀种超级简单的⽅法:bash中输⼊(推荐以管理员的状态)crontab -e第⼀次使⽤这个的话,会提⽰选择⼀种编辑器,根据个⼈喜好选择吧。

然后就会进⼊对应编辑器的编辑界⾯,另起⼀⾏输⼊@reboot /home/user/test.shreboot 后⾯即脚本⽂件位置,然后保存即可。

Ok,脚本现在已经会在开机时⾃动运⾏了。

定时任务同样的bash⾥输⼊ crontab -e然后编辑界⾯加上具体的命令语句。

基本语法为# .---------------- 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⽐如:每天的凌晨4点半运⾏test.sh脚本30 04 * * * /home/user/test.sh每周的周⼀17:30执⾏test.sh脚本30 17 * * 1 /home/user/test.sh或间隔15分钟执⾏⼀次test.sh脚本*/15 * * * * /home/user/test.sh这个指在9:05 ⾄17:05的范围内,每个钟头的过5分会运⾏⼀次,⽐如10:05、11:05会运⾏05 09-17 * * * /home/user/test.sh关于bash中输⼊service --status-all会发现有个cron,。

Linux下实现秒级定时任务的两种方案(crontab每秒运行)

Linux下实现秒级定时任务的两种方案(crontab每秒运行)
网络错误400请刷新页面重试持续报错请尝试更换浏览器或网络环境
Linux下实现秒级定时任务的两种方案( crontab每秒运行)
第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间。 while true ;do
command
sleep XX //间隔秒数
done
第二种方案,使用crontab。 我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次。 以下方法将每20秒执行一次 crontab -e * * * * * /bin/date * * * * * sleep 20; /bin/date * * * * * sleep 40; /bin/date 说明:需要将/bin/date更换成你的命令即可
这种做法去处理隔几十秒的定时任务还好,要是每1秒运行一次就得添加60条记录。。。

在Linux终端中使用cron定时执行任务

在Linux终端中使用cron定时执行任务

在Linux终端中使用cron定时执行任务Linux操作系统提供了一种强大的工具,即cron,它允许用户在指定的时间间隔内自动执行任务。

使用cron,可以轻松地实现定时备份文件、更新系统、执行脚本等操作。

一、了解cronCron是一种用于定时运行命令或脚本的工具,它在后台运行,并根据预先设置的时间表执行任务。

在Linux终端中,可以通过编辑crontab文件来管理cron的任务列表。

二、编辑crontab文件要编辑crontab文件,可以使用以下命令:```crontab -e```这将打开一个文本编辑器,显示当前用户的cron表。

每一行代表一个计划任务,由时间表达式和要执行的命令组成。

三、时间表达式cron使用时间表达式来定义任务的执行时间。

时间表达式由五个不同的字段组成,分别表示分钟、小时、日期、月份和星期。

这些字段使用空格或者通配符来表示。

- 星号(*)表示所有可能的值,例如在分钟字段中,*表示每分钟都执行。

在其他字段中,*表示所有可能的值。

- 逗号(,)用于分隔枚举值,例如"1,3,5"表示1、3和5。

- 减号(-)用于指定一个范围,例如"1-5"表示1到5。

- 正斜杠(/)用于指定间隔,例如"*/10"表示每10分钟。

- 除号(/)用于指定除法,例如"5/15"表示从第5分钟开始,每隔15分钟执行一次。

四、实例以下是一个示例crontab文件,展示了如何使用cron来定时执行任务:```# 每天凌晨3点备份文件0 3 * * * /usr/bin/backup.sh# 每小时更新系统0 * * * * /usr/bin/update.sh# 每周一清理日志文件0 0 * * 1 /usr/bin/clean_logs.sh```在上述示例中,每天凌晨3点备份文件的任务被安排在第一行。

通过指定执行时的分钟位为0,小时位为3,其余时间位使用星号代替,就可以实现在每天的3点运行任务。

Linux中如何使用crontab命令定时执行任务

Linux中如何使用crontab命令定时执行任务

crontab是Linux中用于定时执行任务的命令,它可以让用户在指定的时间或周期性地执行某些命令或脚本。

crontab有两层含义,一是指定任务执行时间的配置文件,二是用于管理配置文件的命令。

要使用crontab命令定时执行任务,首先需要创建一个配置文件,该文件包含了要执行的任务和执行时间。

每一行代表一个任务,格式如下:minute hour day month week command其中,•minute表示分钟,取值范围为0-59;•hour表示小时,取值范围为0-23;•day表示日期,取值范围为1-31;•month表示月份,取值范围为1-12;•week表示星期几,取值范围为0-7(0和7都代表星期日);•command表示要执行的命令或脚本。

在以上各项中,还可以使用以下符号来表示更灵活的时间设置:•* 表示任意值;•, 表示分隔多个值;•o表示连续的值范围;•/ 表示间隔频率。

例如,30 8 * * 1 /home/user/script.sh表示每周一的8:30执行/home/user/script.sh脚本;0 12 1,15 * * /bin/backup.sh表示每月1号和15号的12:00执行/bin/backup.sh脚本;*/10 * * * * /usr/bin/ping -c 3 xxx表示每隔10分钟执行一次/usr/bin/ping -c 3 xxx命令。

创建好配置文件后,可以使用crontab命令来管理它。

常用的选项有:•-e 编辑当前用户的配置文件;•-l 列出当前用户的配置文件内容;•-r 删除当前用户的配置文件;•-u 指定其他用户。

例如,crontab -e #编辑当前用户的配置文件crontab -l #列出当前用户的配置文件内容crontab -r #删除当前用户的配置文件crontab -u root -l #列出root用户的配置文件内容。

Linux执行定时任务时报错-bash-crontab-command怎么办?

Linux执行定时任务时报错-bash-crontab-command怎么办?

Linux执行定时任务时报错-bash:crontab:command怎么办?导读:Linux系统下进行定时任务操作时,突然提示bash:crontab:command not found,出现该问题多半是未安装crontab所导致,只需在Linux系统下安装crontab即可解决问题。

crontab安装步骤:1. 确认crontab是否安装:执行crontab 命令如果报command not found,就表明没有安装2. 安装crontab安装过程如下[root@10vps ~]# crontab -e-bash:crontab:command not found[root@10vps ~]# yum install -y vixie-cronLoaded plugins:fastestmirror,securityDetermining fastest mirrors* rpmforge:ftp.riken.jpbase | 3.7 kB 00:00extras | 3.4 kB 00:00rpmforge | 1.9 kB 00:00rpmforge/primary_db | 2.7 MB 00:02updates | 3.4 kB 00:00updates/primary_db | 3.2 MB 00:13Setting up Install ProcessResolving Dependencies--》Running transaction check---》Package cronie.x86_64 0:1.4.4-12.el6 will be installed--》Processing Dependency:dailyjobs for package:cronie-1.4.4-12.el6.x86_64--》Running transaction check---》Package cronie-anacron.x86_64 0:1.4.4-12.el6 will be installed --》Processing Dependency:crontabs for package:cronie-anacron-1.4.4-12.el6.x86_64--》Running transaction check---》Package crontabs.noarch 0:1.10-33.el6 will be installed--》Finished Dependency ResolutionDependencies Resolved===================================================================== ===========Package Arch Version Repository Size===================================================================== ===========Installing:cronie x86_64 1.4.4-12.el6 base 73 kInstalling for dependencies:cronie-anacron x86_64 1.4.4-12.el6 base 30 kcrontabs noarch 1.10-33.el6 base 10 kTransaction Summary===================================================================== ===========Install 3 Package(s)Total download size:114 kInstalled size:220 kDownloading Packages:(1/3):cronie-1.4.4-12.el6.x86_64.rpm | 73 kB 00:00(2/3):cronie-anacron-1.4.4-12.el6.x86_64.rpm | 30 kB 00:00(3/3):crontabs-1.10-33.el6.noarch.rpm | 10 kB 00:00--------------------------------------------------------------------------------Total 15 kB/s | 114 kB 00:07Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning TransactionInstalling :cronie-1.4.4-12.el6.x86_64 1/3Installing :crontabs-1.10-33.el6.noarch 2/3Installing :cronie-anacron-1.4.4-12.el6.x86_64 3/3Verifying :crontabs-1.10-33.el6.noarch 1/3Verifying :cronie-anacron-1.4.4-12.el6.x86_64 2/3Verifying :cronie-1.4.4-12.el6.x86_64 3/3Installed:cronie.x86_64 0:1.4.4-12.el6Dependency Installed:cronie-anacron.x86_64 0:1.4.4-12.el6 crontabs.noarch 0:1.10-33.el6Complete![root@10vps ~]# crontab -lno crontab for root3. 确认是否安装成功:执行crontab -l4. 看是否设置了开机自动启动chkconfig --list crond5. 启动crontabservice crond start上面就是Linux执行定时任务报错需安装crontab的方法介绍了,该方法适用于绝大多数bash:crontab:command not found报错。

linux crontab定时任务 规则

linux crontab定时任务 规则

linux crontab定时任务规则【引言】在Linux 系统中,crontab 是一个强大的定时任务调度工具,可以帮助我们自动执行一些定期需要进行的任务。

本文将介绍如何使用Linux crontab 创建、管理和使用定时任务,以提高工作效率。

【Linux crontab 简介】crontab 是一个文本文件,用于存储定时任务的配置信息。

每个用户都可以拥有自己的crontab 文件,通过编辑该文件,用户可以设置定时任务的执行时间、命令和周期。

在Linux 系统中,crontab 文件的默认位置是`/etc/crontab`。

【创建定时任务规则】要创建一个定时任务,只需在crontab 文件中添加相应的规则。

每个规则由六部分组成,分别是:分钟、小时、天、月、周和命令。

这些部分用空格分隔。

例如,以下规则表示每小时的每分钟执行一次命令:```* * * * * /path/to/your/command```【常用定时任务实例】1.每天凌晨1点备份数据库:```0 1 * * * /path/to/your/backup_command```2.每小时检查系统日志:```* * * * * /path/to/your/log_check_command```3.每周五下午3点更新软件包:```0 15 * * 5 /path/to/your/apt_update_command```4.每月1号凌晨2点执行大规模数据处理任务:```0 2 1 * * /path/to/your/data_processing_command ```【管理定时任务】1.查看已存在的定时任务:```crontab -l```2.添加定时任务:```crontab -e```3.删除定时任务:```crontab -r <rule_id>```4.修改定时任务:```crontab -e```【结语】熟练掌握Linux crontab 定时任务的使用,可以让我们更加高效地管理日常工作。

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

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

Linux下的crontab定时执⾏任务命令详解在LINUX中,周期执⾏的任务⼀般由cron这个守护进程来处理[ps -ef|grep cron]。

cron读取⼀个或多个配置⽂件,这些配置⽂件中包含了命令⾏及其调⽤时间。

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

⼀、cron服务 cron是⼀个linux下的定时执⾏⼯具,可以在⽆需⼈⼯⼲预的情况下运⾏作业。

service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载⼊配置 service crond status //查看服务状态⼆、cron在3个地⽅查找配置⽂件:1、/var/spool/cron/ 这个⽬录下存放的是每个⽤户包括root的crontab任务,每个任务以创建者的名字命名,⽐如tom建的crontab任务对应的⽂件就是/var/spool/cron/tom。

⼀般⼀个⽤户最多只有⼀个crontab⽂件。

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

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# For details see man 4 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 executedMAILTO=root:是说,当 /etc/crontab 这个档案中的例⾏性命令发⽣错误时,会将错误讯息或者是屏幕显⽰的讯息传给谁?由于 root 并⽆法再⽤户端收信,因此,我通常都將这个 e-mail 改成⾃⼰的账号,好让我随时了解系统的状态!01 * * * * root run-parts /etc/cron.hourly:在 #run-parts 这⼀⾏以后的命令,我们可以发现,五个数字后⾯接的是 root ,这⼀⾏代表的是『执⾏的级别为root⾝份』当然,你也可以将这⼀⾏改为成其他的⾝份!⽽ run-parts代表后⾯接的 /etc/cron.hourly 是『⼀个⽬录内(/etc/cron.hourly)的所有可执⾏⽂件』,也就是说,每个⼩时的01分,系统会以root⾝份去/etc/cron.hourly这个⽬录下执⾏所有可执⾏的⽂件!后⾯三⾏也是类似的意思!你可以到 /etc/ 底下去看看,系统本来就预设了这4个⽬录!你可以将每天需要执⾏的命令直接写到/etc/cron.daily即可,还不需要使⽤到crontab -e的程式!四、/etc/cron.d/ 这个⽬录⽤来存放任何要执⾏的crontab⽂件或脚本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux定时执行crontab
2009-11-18 作者:编辑:闫蕊点击进入论坛
关键词:linux
crontab -e
进入一个vi 编辑界面
在最后一行加上
*/30 * * * * netstat > /tmp/net.log
表示每隔30分就执行netstat命令,并把执行结果存入net.log中。

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 命令添加或者编辑需要定时执行的任务
Crontab文件的每一行由六个域(minutes、hours、day of month、month、day of week、command)组成,域之间用空格或Tab分开,其中:
minutes:分钟域,值的范围是0到59
hours:小时域,值的范围是0到23
day of month:日期,值的范围是1到31
month:月份,值的范围是1到12
day of week:星期,值的范围是0到6,星期日值为0
command:所要运行的命令
如果一个域是*,表明命令可以在该域所有可能的取值范围内执行。

如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字本身)。

如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。

如果日期域和星期域都有值,则这两个域都有效。

编写一个文件,用以启动自动备份进程。

cd /opt
touch reboot.txt
在reboot.txt中添加一下内容:
0 4 * * * reboot
crontab /opt/reboot.txt
用crontab -e编辑定时操作,例如加入下行命令:
用crontab -l命令来查看
注意:需要启动服务(添加在rc.local中)
重启crond任务
/etc/init.d/cron restart (ubuntu下)
第一种在Fedora或Redhat 等以RPM包管理的系统中; [root@localhost ~]# /etc/init.d/crond start
[root@localhost ~]# /etc/init.d/crond stop
[root@localhost ~]# /etc/init.d/crond restart
/etc/rc.d/init.d/crond restart
命令简介
crontab-操作每个用户的守护程序和该执行的时间表。

部分参数说明
crontab file [-u user]-用指定的文件替代目前的crontab。

crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。

crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。

H:小时(0-23)。

D:天(1-31)。

m: 月(1-12)。

d: 一星期内的天(0~6,0为星期天)。

cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。

下面是一个例子文件:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点
106* * * date
#每两个小时
0*/2* * * date
#晚上11点到早上8点之间每两个小时,早上部点
0 23-7/2,8* * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4* mon-wed date
#1月份日早上4点
0 4 1 jan* date
范例
lark:~>crontab-1 列出用户目前的crontab.
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND 10 6* * * date
0*/2* * * date
0 23-7/2,8 * * * date
lark:~>。

相关文档
最新文档