linux_cron定时任务
1、计划任务概说:计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。
在Linux中,我们经常用到crond 服务器来完成这项工作。
cron服务器可以根据配置文件约定的时间来执行特定的作务。
比如我们可以在配置文件中约定每天早上4点,对httpd 服务器重新启动,这就是一个计划任务:下面我们先来说说cron:2、cron:在Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动。
cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron 会根据命令和执行时间来按时来调用度工作任务。
2.1 cron 的安装和启动:在一般情况下,cron都是系统默认安装的,我们要学会查看软件包是否已经安装:2.1.1 在Redhat 或Fedora等RPM包管理的系统的安装:判断系统是否已经安装cron相关的包Fedora 5.0 系统的情况:其它版本的Fedora及Redhat的系统和这相似:[root@localhost ~]# rpm -qa |grep cronvixie-cron-4.1-54.FC5anacron-2.3-36.1crontabs-1.10-7.1其中vixie-cron软件包是cron的主程序,您可以通过下面的命令来了解它,其它软件包同理:[root@localhost beinan]# rpm -ql vixie-croncrontabs 软件包是用来安装、卸装、或列举用来驱动cron 守护进程的表格的程序。
cron 守护进程检查crontab 文件来查看某个指定命令被调度执行的时间。
如果命令已经调度,守护进程就会执行它们。
了解crontabs软件包都安装了些什么,应该用下面的命令:[root@localhost beinan]# rpm -ql crontabs如果没有安装,可以从光盘中找出文件名带有cron字样的软件包来安装。
[root@localhost ~]# rpm -ivh vixie-cron-4.1-54.FC5*[root@localhost ~]# rpm -ivh crontabs*也可以用yum 来在线安装:[root@localhost ~]# yum install vixie-cron[root@localhost ~]# yum install crontabs2.1.2 在Slackware系统中的安装:在Slackware中cron软件包是dcron,您可以在光盘中找出来安装它:查看是否已经安装了dcron软件包,您可以这样查看。
在这里能列出软件包详细的安装情况:[root@localhost ~]# more /var/adm/packages/dcron*如果没有安装,请用下面的命令来安装。
在第一张安装盘中找出dcron软件包:[root@localhost ~]# installpkg dcron*.tgz2.1.3 cron 的开启、停止、重新启动方法:cron配置文件被修改后,想让新文件生效,必须重新crond服务器,有两种方法可供选择:第一种在Fedora或Redhat 等以RPM包管理的系统中:[root@localhost ~]# /etc/init.d/crond start[root@localhost ~]# /etc/init.d/crond stop[root@localhost ~]# /etc/init.d/crond restart如果想在Fedora 和Redhat 或以这些发行版为基础克隆的发行版,如果想自动开机运行,请用下面的办法:[root@localhost ~]# chkconfig --levels 35 crond on第二种:通用[root@localhost ~]# pgrep crond 注:判断crond 是否在运行:[root@localhost ~]# pkill crond 注:杀掉正在运行中的crond:[root@localhost ~]# pgrep crond 注:查看是否被杀掉了:[root@localhost ~]# /usr/sbin/crond 注:运行crond:2.2 cron 配置文件:cron 是一个服务器程序,我们都知道Linux的服务器的配置,大多是通过配置文件来完成的,cron自然也不例外,在Redhat/Fedora 等系统中它的全局性配置文件是/etc/crontab:在Slackware系统中,全局性文件是/var/spool/cron/crontabs/root 。
每个用户也有自己的cron配置文件,我们可以通过crontab -e 来编辑它:2.2.1 全局性配置文件:下面是一个全局性的配置文件例子,以Fedora Core 5为例:[root@localhost ~]# more /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts1 * * * * root run-parts /etc/cron.hourly#2 4 * * * root run-parts /etc/cron.daily#22 4 * * 7 root run-parts /etc/cron.weekly#42 4 1 * * root run-parts /etc/cron.monthly#0,5,10,15,20,25,30,35,40,45,50,55 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg对于全局性配置文件,我们要用root权限来更改,一般是通过crontab -e 来修改。
但有时也并不一定是这样的,比如Fedora Core 5 如果通过crontab -e 修改的是root用户的cron 配置文件。
所以我们要在Fedora Core 5中修改全局性配置文件可以用vi 编辑器来修改。
vi的用法请参考:《文件编辑器vi》在全局性配置文件中,定义了可执行命令的路径环境变量,所用SHELL类型的定义等,这些大多不用修改:我们经常添加的是计划任务或修改任务执行的时间等:在全局性配置文件中,我们发现有类似这些行:1 * * * * root run-parts /etc/cron.hourly 注:表示每个小时的第一分钟,开始执行/etc/hourly目录下的可执行程序或脚本:2 4 * * * root run-parts /etc/cron.daily 注:表示每天的4点2分,开始执行/etc/cron.daily目录下的可执行程序或脚本:22 4 * * 7 root run-parts /etc/cron.weekly 注:每年第7个周4点我22分,开始执行 /etc/cron.weekly 目录下的可执行程序或脚本:42 4 1 * * root run-parts /etc/cron.monthly 注:每月第1天的4点42分,开始执行/etc/cron.monthly 目录下的可执行程序或脚本:这些行是用来在同一时间批量执行任务的,我们在以后的例子中独立出来解说,在这里只是让大家心中有数:2.2.2 cron 配置计划任务的书写格式分钟小时日月周[用户名]命令说明:第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。
范围是从0-59第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。
每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略:第七段应该定义的是:执行的命令和参数。
注:其中用户名可是省略,用户名定义的是程序用哪个用户来执行,比如mysql服务器,我们可以定义成以mysql用户来启动、停止、重新启动,这时要写上用户名:不过对于cron来说意义不是太大,因为每个用户都有自己的cron配置文件。
有些程序的启动必须用到root用户,这时我们就可以修改root用户的cron 配置文件就行了。
在每个用户的配置文件中,不必指定用户名。
我们可以把计划任务写在全局性配置文件中,如果您想把一个计划放入全局性配置文件中,就得改发行版所对应的cron全局配置文件,比如Fedora 5的全局性配置文件是/etc/crontab文件:每个用户也能定义自己的cron配置文件,用crontab -e 命令来定义:举一例:让机器在每天8点30分重新启动:关于时间格式中有7个字段。
我们可以直接更改或者添加,当然这是系统任务调用。
举个例子,比如我在每天的早上8点30分重新启动机器,就可以在/etc/crontab中加入下面的两句,第一句就是注释了。
以#号开始,后面写一个自己能知道这是什么任务的备注:# reboot OS30 8 * * * root /sbin/reboot第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。
范围是从0-59第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中0表示星期日。
每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略:第七段应该定义的是:执行的命令和参数。
对比上面的例子就知道,30是不是分钟??8是不是小时?如果有*代表的地方,表示全部,也就是说,每个月,每天,每星期都要执行。
root 表示用root用户执行,命令是/sbin/reboot ,也就是说,系统在每天8点30分重新启动:我们可以把每天8点30分重新启动的计划任务写入cron全局性配置文件中,也可以定义在root用户自己的cron配置文件中。
如果定义在root自己的配置文件,请用root身份来执行crontab -e 来修改配置文件:crontab -e 进入修改配置文件的过程,其实和vi的用法一样,请参看vi 的用法:《文件编辑器vi》让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。
也要重新启动cron服务器。
Linux定时任务--Crond使用教程
Linux定时任务--Crond使⽤教程Linux定时任务--Crond使⽤教程1. 介绍Crondcrond是linux下⽤来周期性的执⾏某种任务或等待处理某些事件的⼀个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务⼯具,并且会⾃动启动crond进程,crond进程每分钟会定期检查是否有要执⾏的任务,如果有要执⾏的任务,则⾃动执⾏该任务。
Cron 是UNIX, SOLARIS,LINUX下的⼀个⼗分有⽤的⼯具。
通过Cron脚本能使计划任务定期地在系统后台⾃动运⾏。
这种计划任务在UNIX, SOLARIS, LINUX下术语为cron jobs。
Crontab (CRON 表)则是⽤来记录在特定时间运⾏的CRON的⼀个脚本⽂件。
2. 控制Crond状态的命令crontab -l #查看任务crontab -e #便捷定时编辑任务systemctl reload crond.service #重启crontabsystemctl start crond.servicesystemctl stop crond.servicesystemctl restart crond.service# 如果不⽀持systemctl命令service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务service crond reload //重新载⼊配置service crond status //查看服务状态/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载⼊配置# 设置Crond开机是否⾃启# 1. 查看crond.serivce服务的⾃启动状态systemctl is-enabled crond/crond.service> disabled# 1.1 此时crond.serivce的⾃启动状态为disabled [开机不会⾃启动]# 1.2 如果时enabled,表⽰⾃启动状态为enabled [开机会⾃启动]# 开启crond.serivce服务⾃启动systemctl enable crond/crond.servicesystemctl is-enabled crond/crond.service> enabled# 列出所有的启动⽂件:systemctl list-unit-files# 列出所有状态为enable的启动⽂件systemctl list-unit-files | grep enable# 关闭crond.serivce的⾃启动状态systemctl disable crond/crond.service3. 权限控制为了安全性,可以限制使⽤crontab的⽤户账号,使⽤的限制数据:/etc/cron.allow将可以使⽤的crontab的账号写⼊其中,若不在这个⽂件内的⽤户则不可使⽤crontab/etc/cron.deny将不可使⽤crontab的账号写⼊其中,若未记录到这个⽂件当中的⽤户,就可以使⽤crontab。
Linux命令高级技巧使用cron进行定时任务管理
Linux命令高级技巧使用cron进行定时任务管理使用cron进行定时任务管理cron是Linux系统中用于定时执行任务的工具。
它允许用户根据需求设置定时任务,可以执行一次性任务,也可以周期性地执行任务。
本文将介绍如何使用cron进行定时任务管理,并列举一些常用的高级技巧。
一、cron的基本用法1. cron的任务配置文件cron的任务配置文件位于/etc/cron.d/目录下,每个用户都可以在该目录下创建以自己用户名命名的文件来设置自己的定时任务。
2. cron任务的格式cron任务的格式为:```* * * * * command```其中,五个星号分别代表分钟、小时、日期、月份和星期几。
每个星号可以接受的值有以下几种:- *:表示任意值,即不作限制- 1~59/2:表示从1开始,每2个数取一个值- 1,5,10:表示只接受1、5、10这些值- 1-5:表示接受1到5之间的值3. 编写cron任务在任务配置文件中添加一行cron任务,例如:```0 1 * * * /usr/bin/python3 /home/user/backup.py```上述任务表示每天凌晨1点执行一次"/usr/bin/python3/home/user/backup.py"这个命令。
二、常用的高级技巧1. 执行多个命令可以使用分号来分隔多个命令,例如:```0 2 * * * command1; command2```上述任务表示每天凌晨2点执行command1和command2这两个命令。
2. 标准输出和错误重定向可以使用">"将标准输出重定向至文件,使用"2>"将错误输出重定向至文件,例如:```0 3 * * * command > /tmp/output.txt 2> /tmp/error.txt```上述任务表示每天凌晨3点执行command命令,并将标准输出保存至/tmp/output.txt文件,将错误输出保存至/tmp/error.txt文件。
crond定时任务
crond是什么?crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件。
安装完linux 之后默认便会启动crond任务调度服务。
显示配置文件:crontab -l*/5 * * * * /usr/sbin/ntpdate >/dev/null 2>&1 每五分钟执行一次分时日月周例:00 23 * * * 代表每天的23点执行,*代表每-代表范围例:30 17-19 * * * 代表17:30,18:30,19:30,分隔时段,例:30 17,18,19 * * * 代表17:30,18:30,19:30/n 每单位时间,n为数字编辑定时任务:crontab –e配置文件:/var/spool/cron/root日志文件:/var/log/cron小结1、定时任务要加注释2、结尾不要有>/dev/null 2>&13、输出的目录必须存在才能出结果4、定时任务中的路径一定要使用绝对路径5、crond服务必须开启运行要领1:为定时任务规则添加必要的注释要领2:执行脚本前加/bin/sh要领3:定时任务命令或程序最好写到脚本里面执行要领4:定时任务命令或脚本结尾加>/dev/null 2>&1&>/dev/null,1>/dev/null 2>/dev/null要领5:在指定用户下执行相关定时任务要领6:生产任务程序不要随意打印输出信息tar zcf echo 123 >a.log要领7:定时任务执行的脚本要规范路径(/server/scripts)要领8:配置定时任务操作规范过程工作中调试定时任务的方法1、增加执行任务频率调试任务(某些任务不能用于生产环境没有测试机会)a) 代码发布:个人开发环境-◊办公室测试环境-◊IDC机房测试环境-◊IDC正式环境(分组,灰度发布)。
2、调整系统时间调试任务(不能直接用于生产环境),保持5分钟。
cron定时任务的原理
cron定时任务的原理cron定时任务是一种可以在预定时间执行特定任务的机制。
它基于Linux操作系统的cron守护进程,可以帮助用户自动化执行一些重复性的任务,如备份数据、定期清理日志文件等。
本文将介绍cron 定时任务的原理和工作方式。
一、cron定时任务的概念和作用cron定时任务是一种计划任务调度工具,它可以在指定的时间间隔内,按照用户设置的规则自动执行任务。
这些任务可以是系统维护任务,也可以是用户自定义的任务。
通过cron定时任务,可以提高工作效率,减少手动操作,避免遗漏重要任务。
cron定时任务的实现依赖于Linux操作系统的cron守护进程。
cron守护进程会定期检查系统中的定时任务,并按照规定的时间执行这些任务。
1. 定时任务的配置用户可以使用crontab命令来配置定时任务。
crontab命令可以让用户编辑和管理cron定时任务的配置文件。
通过crontab命令,用户可以指定任务的执行时间、执行命令和执行频率等参数。
2. 定时任务的调度cron守护进程会周期性地检查系统中的定时任务配置文件,以确定是否有任务需要执行。
它会根据配置文件中的时间设置,判断任务是否到达执行时间。
如果是,则执行相应的任务;如果不是,则继续等待下一次检查。
3. 定时任务的执行当cron守护进程确定某个任务需要执行时,它会创建一个子进程来执行该任务。
子进程会按照用户配置的命令进行执行,并将执行结果输出到标准输出或指定的日志文件中。
4. 定时任务的日志记录cron守护进程会将定时任务的执行情况记录到系统日志中。
用户可以通过查看系统日志来了解定时任务的执行情况,以及是否有错误或异常发生。
三、cron定时任务的使用cron定时任务的使用非常灵活,用户可以根据自己的需求配置不同的任务。
以下是一些常见的cron定时任务的使用示例:1. 每天定时备份数据库用户可以配置一个cron定时任务,在每天的凌晨执行数据库备份命令,以保证数据的安全性。
Linux终端命令实例教程使用cron命令定时执行任务
Linux终端命令实例教程使用cron命令定时执行任务Linux终端命令实例教程:使用cron命令定时执行任务Linux终端是系统管理员和开发人员常用的工具之一,通过终端可以直接与操作系统进行交互,执行各种任务。
其中,cron命令是Linux 系统中用于定时执行任务的命令。
本文将为您详细介绍及实例演示如何使用cron命令来定时执行任务。
1. 什么是cron命令?cron命令是一种在Linux系统中用于定时执行任务的工具,它可以根据用户预先设定的时间规则,在后台自动运行指定的命令或脚本。
cron命令通常被用来执行系统维护任务、定期备份文件、更新数据库等自动化操作。
2. cron命令的语法和选项在使用cron命令之前,先来了解一下其基本的语法和常用选项:```crontab [选项] [文件]```常用选项:- -e:编辑当前用户的定时任务计划;- -l:显示当前用户的定时任务计划;- -r:删除当前用户的定时任务计划。
3. 编写cron任务计划要在Linux系统中使用cron命令,首先需要编辑用户的定时任务计划。
可以通过以下命令编辑当前用户的定时任务计划文件:```crontab -e```执行以上命令后,会打开一个文本编辑器,在其中输入任务计划。
每行一个任务计划,任务计划的格式如下:```分钟小时日月周命令```其中,每个字段的含义如下:- 分钟(0-59):表示每小时的第几分钟执行任务;- 小时(0-23):表示每天的第几个小时执行任务;- 日(1-31):表示每月的第几天执行任务;- 月(1-12):表示每年的第几个月执行任务;- 周(0-7):表示每周的第几天执行任务,0和7都表示星期天。
4. 实例演示:定时备份文件假设我们需要每天凌晨1点执行一次文件备份任务,备份的文件夹为`/data`,目标备份文件夹为`/backup`。
以下是一个实现此功能的cron任务计划:```0 1 * * * cp -r /data /backup/$(date +\%Y\%m\%d)```解析:- `0 1 * * *`表示每天凌晨1点执行任务;- `cp -r /data /backup/$(date +\%Y\%m\%d)`表示执行备份命令,将`/data`文件夹复制到`/backup`文件夹下,并以当前日期命名备份文件夹。
在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点运行任务。
cron表达式每2分钟一次
cron表达式每2分钟一次经常有人问,如何以比较快的频率定期运行一个任务?在Linux 系统中,有一种特殊的表达式可以做到这一点:cron表达式。
本文将介绍cron表达式每2分钟一次,如何实现它。
什么是cron表达式?cron表达式是一种特殊的Linux表达式,它可以定期执行某个任务。
它是由“cron”的名字来的,cron是一种行业标准的定时任务管理机制,它可以定期执行一些任务。
cron表达式是以分钟、小时、天、月和星期几的形式来指定任务定时执行时间,其中每两分钟可以指定1次执行任务,也就是cron 表达式每2分钟一次。
比如,想要在每一分钟执行任务,可以使用0/1 * * * * 四位表达式来实现:* * * * 0/1其中,“0/1”表示每一分钟,“*”表示执行任何时间,其他三个“*”可以忽略。
实现cron表达式每2分钟一次实现cron表达式每2分钟一次,需要使用0/2 * * * * 五位表达式:* * * * 0/2其中,“0/2”表示每两分钟,“*”表示任何时刻都可以执行,其他三个“*”可简化为一个“*”。
如何使用cron表达式定时执行任务?使用cron表达式定时执行任务,需要在Linux系统设置定时任务,有两种常见的方式:(1)安装cron计划计划器:Linux系统自带有一个轻量级的定时计划计划器,叫cron,它可以通过一些表达式定义任务,并在指定的周期内自动执行任务,比如cron表达式每2分钟一次,以及更高的时间精度。
(2)使用crontab命令:Linux系统也可以通过使用crontab命令来定时执行任务,其使用方法如下:crontab [-u户] [-e辑器] [文件]其中,参数-u用户可以指定任务的执行用户;参数-e编辑器可以指定任务的编辑器;参数文件可以指定任务的文件名。
以每2分钟执行任务为例,可以使用如下命令:crontab -e 0/2 * * * *上面的命令可以定义每2分钟执行一次任务的定时任务,将任务定义到Linux系统的定时计划计划器中。
cron语句
cron语句cron语句是一种用于定时执行任务的语法,常用于Linux系统中,下面是一些常见的cron语句示例:1. 每天凌晨1点执行一次任务:```0 1 * * * command```该语句表示在每天的凌晨1点,执行指定的命令。
2. 每周一早上8点执行一次任务:```0 8 * * 1 command```该语句表示在每周的周一早上8点,执行指定的命令。
3. 每隔5分钟执行一次任务:```*/5 * * * * command```该语句表示每隔5分钟,执行指定的命令。
4. 每月的1号和15号的中午12点执行一次任务:```0 12 1,15 * * command```该语句表示在每个月的1号和15号的中午12点,执行指定的命令。
5. 每天的上午9点到下午6点,每隔30分钟执行一次任务:```*/30 9-18 * * * command```该语句表示在每天的上午9点到下午6点之间,每隔30分钟,执行指定的命令。
6. 每个月的最后一天的晚上10点执行一次任务:```0 22 L * * command```该语句表示每个月的最后一天的晚上10点,执行指定的命令。
7. 每隔2小时执行一次任务,从早上8点开始:```0 8-20/2 * * * command```该语句表示从早上8点开始,每隔2小时执行一次指定的命令,直到晚上8点。
8. 每周一至周五的上午10点执行一次任务:```0 10 * * 1-5 command```该语句表示在每个周一至周五的上午10点,执行指定的命令。
9. 每个季度的第一个月的1号的凌晨3点执行一次任务:```0 3 1 */3 * command```该语句表示在每个季度的第一个月的1号的凌晨3点,执行指定的命令。
10. 每小时的第10分钟执行一次任务:```10 * * * * command```该语句表示在每个小时的第10分钟,执行指定的命令。
这些是一些常见的cron语句示例,通过设置不同的时间和日期,可以实现灵活的定时任务调度。
在Linux中使用cron来定时执行任务
转载:在Linux中使用cron来定时执行任务Posted by LEMON | Filed under LAMP, Linux定期运行程序或者脚本是管理员要面临一个很普遍的问题一、使用crond监控程序运行程序1. 使用cron来定期执行任务使用crond (cron监控程序)来定期运行一些任务,比如备份日志、数据库、把日志发送到自己邮箱等等操作都可以又定期运行程序来完成。
crond是个脚本,每次Linux启动的时候都自动起到该脚本,该脚本是 /etc/rc.d/init.d 下面的,每次系统启动的时候就自动会启动该目录下的脚本。
cron有两个配置文件,一个/etc/crontab,是一个全局配置文件,一组是crontab命令生成生成的配置文件,是属于用户级的。
一般对管理员来说,只要使用全局配置的/etc/crontab就配置文件就可以了,我们去打开配置文件看看:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly我们稍微来分析一下这个文件:/* 设置基于什么shell来运行,我们这里是基于bash shell */SHELL=/bin/bash/* 指定目录中有次文件的命令时,不需要完整目录路经 */PATH=/sbin:/bin:/usr/sbin:/usr/bin/* 使用cron实际工作时,见通过邮件来同志root用户 */MAILTO=root/* 与/etc/crontab配置文件相关的主目录为根目录 */HOME=//* 好了,这里是关键是,下面的是要指定什么时间运行什么目录下的任务,run-parts命令是运行指定目录下的每个脚本 */# run-parts/* 这一句是在每天每小时过后一分钟运行/etc/cron.hourly目录中的每个脚本文件 */ 01 * * * * root run-parts /etc/cron.hourly/* 在每天凌晨4点2分运行/etc/cron.daily目录中的每个脚本文件 */02 4 * * * root run-parts /etc/cron.daily/* 在每个星期天凌晨4点22分运行/etc/cron.weekly目录中的每个脚本文件 */22 4 * * 0 root run-parts /etc/cron.weekly/* 在每个月的第一天凌晨4点42分运行/etc/cron.monthly目录中的每个脚本文件 */ 42 4 1 * * root run-parts /etc/cron.monthly大家看到里面的‖*‖一定觉得很奇怪,下面我们句稍微来了解一下cron的语法:上面脚本中的时间是从左到右的,分别列出了五个字段,我们看下面的表:————————————————字段取值范围————————————————Minute 0 ~ 59Hour 0 ~ 23,其中0是午夜,20是晚上8点Day 1 ~ 31Month 1 ~ 12Day of week 0 ~ 7,其中0和7是表示星期天————————————————任何字段中的星号是通配符,例如,如果第一个字段包括星号,则特定若无其事在可能的每一分钟运行。
linux中cron用法
linux中cron用法引言概述:Linux中的cron是一个非常重要的工具,它可以帮助我们自动化执行任务。
无论是系统维护还是日常工作,cron都能够提高效率和准确性。
本文将详细介绍Linux中cron的用法,包括设置定时任务、编辑cron表达式、查看和管理任务等。
正文内容:1. 设置定时任务1.1. 使用crontab命令:通过crontab命令可以编辑和管理用户的cron表。
可以使用crontab命令创建、编辑和删除定时任务。
1.2. 编辑cron配置文件:在Linux系统中,还可以直接编辑cron配置文件来设置定时任务。
这种方法适用于需要同时管理多个用户的定时任务。
2. 编辑cron表达式2.1. 分钟和小时字段:cron表达式中的分钟字段和小时字段分别用来指定任务执行的分钟和小时。
可以使用星号表示任意值,也可以使用逗号分隔多个值。
2.2. 日期和月份字段:除了分钟和小时字段,cron表达式还包括日期和月份字段,用来指定任务执行的日期和月份。
可以使用星号、逗号和连字符来设置多个值或范围。
2.3. 星期字段:在一些情况下,我们可能还需要指定任务在特定的星期几执行。
星期字段可以用来设置任务的执行日期。
同样,可以使用星号、逗号和连字符来设置多个值或范围。
3. 查看和管理任务3.1. 查看当前用户的定时任务:可以使用crontab命令的-l选项来查看当前用户的定时任务列表。
3.2. 查看所有用户的定时任务:root用户可以使用crontab命令的-u选项来查看其他用户的定时任务列表。
3.3. 管理任务:除了查看定时任务,我们还可以使用crontab命令的-e选项来编辑任务,使用-r选项来删除任务。
总结:在Linux中,cron是一个非常强大的工具,它可以帮助我们自动化执行任务。
本文从设置定时任务、编辑cron表达式、查看和管理任务等方面详细介绍了Linux 中cron的用法。
通过合理使用cron,我们可以提高工作效率和准确性,使得任务的执行更加方便和自动化。
