使用crond 在linux中定时执行任务

合集下载

如何使用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下定时执行脚本

Linux下定时执行脚本

Linux下定时执行脚本今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。

Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。

下面看一下具体的用法:首先查看一下/etc/crontab文件:$ cat /etc/crontabSHELL=/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前四行是有关设置cron任务运行的环境变量。

SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),PATH变量定义了执行命令的路径。

Cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。

如果MAILTO变量定义为空字符串(MAILTO=""),电子邮件不会被发送。

执行命令或脚本时HOME变量可用来设置基目录。

文件/etc/crontab中每行任务的描述格式如下:minute hour day month dayofweek commandminute - 从0到59的整数hour - 从0到23的整数day - 从1到31的整数 (必须是指定月份的有效日期)month - 从1到12的整数 (或如Jan或Feb简写的月份)dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示) command - 需要执行的命令(可用as ls /proc >> /tmp/proc或执行自定义脚本的命令)root表示以root用户身份来运行run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本对于以上各语句,星号(*)表示所有可用的值。

Centos7下利用crontab定时执行任务详解

Centos7下利用crontab定时执行任务详解

Centos7下利⽤crontab定时执⾏任务详解前⾔cron服务是Linux的内置服务,但它不会开机⾃动启动。

可以⽤以下命令启动和停⽌服务:/sbin/service crond start/sbin/service crond stop/sbin/service crond restart/sbin/service crond reload以上1-4⾏分别为启动、停⽌、重启服务和重新加载配置。

要把cron设为在开机的时候⾃动启动,在 /etc/rc.d/rc.local 脚本中加⼊ /sbin/service crond start 即可查看当前⽤户的crontab,输⼊crontab -l;编辑crontab,输⼊crontab -e;删除crontab,输⼊crontab -r添加任务crontab -e0 */1 * * * command0 */2 * * * command查询任务是否加了:crontab -l -u root #查看root⽤户0 */1 * * * command0 */2 * * * command基本格式 :* * * * * 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。

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条记录。。。

cron定时任务的原理

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定时任务,在每天的凌晨执行数据库备份命令,以保证数据的安全性。

cron表达式每2分钟一次

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系统的定时计划计划器中。

crond

crond

Linux下的计划任务服务crond2010-07-16 22:37:43| 分类:linux | 标签:|字号大中小订阅crond 是Linux用来定期执行程序的命令。

当安装完成操作系统之后,默认便会启动此任务调度命令。

crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

而Linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:文件含义/etc/cron.deny 该文件中所列的用户不允许使用Crontab命令/etc/cron.allow 该文件中所列的用户允许使用Crontab命令/var/spool/cron/ 是所有用户的crontab文件/var/spool/cron/crontabs /var/spool/cron/crontabsCrontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:参数名称www.britepic.or g 含义示例-l 显示用户的Crontab文件的内容crontabl –l-i 删除用户的Crontab文件前给提示crontabl -r i-r 从Crontab目录中删除用户的Crontab文件crontabl -r-e 编辑用户的Crontab文件cr ontabl -e用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,格式如下:* * * * * <command>其时间段的含义如表二:段含义取值范围第一段代表分钟0—59第二段代表小时0—23第三段代表日期1—31第四段代表月份1—12第五段代表星期几,0代表星期日0—6例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):1. 以普通用户登录linux系统(我用的是CentOS4.1)2. $crontab –e说明:系统默认的编辑器是VIM,如果不是请加上以下shell:$EDITOR=vi$export EDITOR3. 输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM4. $su root5. $cd /etc/init.d6. ./crond restart下面看看看几个具体的例子:● 0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache● 50 7 * * * /sbin/service ssh d start 意思是每天7:50开启ssh服务● 50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务● 0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘● 1 * * * * /home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件● 00 03 * * 1-5 find /home "*.xxx" -mtime 4 -exec rm {} \; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

linux中cron用法

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,我们可以提高工作效率和准确性,使得任务的执行更加方便和自动化。

linux下cront命令

linux下cront命令

linux下crontab命令的用法2007年5月21日任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。

当安装完成操作系统之后,默认便会启动此任务调度命令。

crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:文件含义/etc/cron.deny 该文件中所列的用户不允许使用Crontab命令/etc/cron.allow 该文件中所列的用户允许使用Crontab命令/var/spool/cron/ 是所有用户的crontab文件/var/spool/cron/crontabs/var/spool/cron/crontabsCrontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:参数名称含义示例-l 显示用户的Crontab文件的内容crontabl –lcrontabl -ri-i 删除用户的Crontab文件前给提示crontabl -r-r 从Crontab目录中删除用户的Crontab文件-e 编辑用户的Crontab文件crontabl -e用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,格式如下:* * * * *其时间段的含义如表二:段含义取值范围第一段代表分钟0—59第二段代表小时0—23第三段代表日期1—31第四段代表月份1—12第五段代表星期几,0代表星期日0—6例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):1. 以普通用户登录linux系统(我用的是CentOS4.1)2. $crontab –e说明:系统默认的编辑器是VIM,如果不是请加上以下shell:$EDITOR=vi$export EDITOR3. 输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM4. $su root5. $cd /etc/init.d6. ./crond restart下面看看看几个具体的例子:● 0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache● 50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务● 50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务● 0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘● 1 * * * * /home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} /; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

linux下cron设置规则

linux下cron设置规则

linux下cron设置规则**一、Cron简介**Cron是Linux系统中的一款定时任务调度工具,它可以用于自动执行周期性的任务,如每天定时备份数据库、定时发送邮件等。

Cron的工作原理是根据设定的规则,在指定的时间执行相应的命令或脚本。

**二、如何在Linux下设置Cron任务**1.打开终端,使用`crontab`命令编辑Cron配置文件。

```crontab -e```2.进入Cron配置文件后,使用编辑器(如Vim、Nano等)编写Cron任务。

每个任务占一行,格式如下:```分钟时分日月周命令```例如:每天凌晨1点执行某个脚本,可以这样编写:```0 1 * * * /path/to/your/script.sh```3.保存并退出编辑器,Cron任务就会生效。

**三、Cron表达式详解**Cron表达式用于指定任务执行的时间,格式如下:```分钟时分日月周命令```- 分钟:0-59之间的整数,可以省略(默认为0)- 小时:0-23之间的整数- 日期:1-31之间的整数,可以省略(默认为1)- 月份:1-12之间的整数,可以省略(默认为1)- 周:0-7之间的整数,表示星期几(0为星期日,1为星期一,依此类推)**四、举例:常用Cron任务的设置**1.每天凌晨1点自动备份数据库:```0 1 * * * /path/to/your/backup_script.sh```2.每天定时发送邮件:```0 17 * * * /path/to/your/send_email_script.sh```3.每周五下午3点整执行某个任务:```0 15 * * 5 /path/to/your/task_script.sh```**五、管理Cron任务**1.查看已配置的Cron任务:```crontab -l```2.添加Cron任务:```crontab -e```3.删除Cron任务:```crontab -r <filename>```4.修改Cron任务:```crontab -e```**六、总结**Cron是Linux系统中非常实用的定时任务调度工具。

crond 用法

crond 用法

crond 用法"crond用法"指的是在Linux系统中使用crond工具来进行定时任务的管理和执行。

本文将详细介绍crond的基本概念、配置文件、常用命令和示例,帮助读者理解和熟悉crond的用法。

第一部分:基本概念1.1 crond的定义crond是一个定时任务管理器,可以在预设的时间间隔内执行各种任务。

它基于时间的触发器,通过配置文件指定任务执行的时机,并适用于各种任务的自动化处理。

1.2 cron的工作原理crond以固定的时间间隔不断扫描系统中的配置文件,检查任务是否到达执行时间。

若任务时间匹配,则由crond负责启动对应的执行程序,并在后台执行任务。

第二部分:配置文件2.1 crontab文件的格式crontab文件是用来配置定时任务的文件,其中包含了任务的执行时间和要执行的命令或脚本。

其格式如下:分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期几(0-7) 要执行的命令2.2 用户级别和系统级别的crontab文件在Linux系统中,每个用户都有自己的crontab文件,用于管理个人的定时任务。

此外,还有一个系统级别的crontab文件,用来管理系统所有用户的定时任务。

第三部分:常用命令3.1 crontab命令简介- crontab -e:编辑当前用户的crontab文件。

- crontab -l:列出当前用户的crontab文件。

- crontab -r:删除当前用户的crontab文件。

3.2 重启crond服务在修改crontab文件后,需要重启crond服务以使更改生效。

可以使用以下命令来重启crond服务:sudo systemctl restart crond第四部分:示例与应用4.1 示例一:每日备份数据库假设我们需要每日自动备份数据库,可以在crontab文件中添加以下内容:0 2 * * * /usr/bin/mysqldump -u root -p123456 mydb >/tmp/db_backup_`date +\Y\m\d`.sql上述命令表示每天凌晨2点使用mysqldump备份数据库,并将备份文件以日期命名保存在/tmp目录下。

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⽂件或脚本。

Linux定时执行程序Cronb

Linux定时执行程序Cronb

近期要在客户的服务器上实行计划执行程序;就是要定好每天的什么时候;执行什么程序..具体的要求如下:1、每周一至六晚上八点自动执行数据备份操作2、每月1号晚上零晨自动执行数据据备份操作3、每周一至六晚上八点半自动执行一程序;进行数据库数据录入工作起初没啥概念;后来在有经验的同事指导下;开始有所了解每个用户都有各自不同的计划任务列表;用各自的帐户登录后运行crontab -l就可查看到各任务的计划任务情况;使用下列命令可以修改自己的计划任务crontab -e下面为一计划任务的样例每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点0 11 4 mon-wed date上面这句的意思是“每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点显示时间”;你把date改成你想执行的命令;再把执行的时间改了;就可以形成一个定时执行命令了空格之间的参数意义如下分钟小时天月星期要执行的命令详细的请参考下面我从网上抄来的=================================Crontab是一个很方便的在unix/linux系统上定时循环执行某个任务的程序使用cron服务;用 service crond status 查看 cron服务状态;如果没有启动则 service crond start启动它;cron服务是一个定时执行的服务;可以通过crontab 命令添加或者编辑需要定时执行的任务:crontab -u crontab -l列出当前的crontab任务2. crontab -d删除当前的crontab任务3. crontab -e 上面是 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 似乎不支持此种写法晚上11点到早上8点之间每两个小时;早上8点0 23-7/2;8 date每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点0 11 4 mon-wed date1月份日早上4点0 4 1 jan date补充:在使用crontab的时候;要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致;一个比较保险的做法是在运行的脚本程序中自行设置环境变量export1先建一个文件如下; 每天早上5点36分重新启动36 5 reboot2上传到/opt目录3运行命令crontab /opt/crontab -l让配置文件生效:如果让配置文件生效;还得重新启动cron;切记;既然每个用户下的cron配置文件修改后..也要重新启动cron服务器..在Fedora 和Redhat中;我们应该用;rootlocalhost ~ /etc/crond restart如果让crond 在开机时运行;应该改变其运行级别;rootlocalhost ~ chkconfig --levels 35 crond onservice crond status 查看 cron服务状态;如果没有启动则 service crond start启动它; cron服务是一个定时执行的服务;可以通过crontab 命令添加或者编辑需要定时执行的任务Crontab文件的每一行由六个域minutes、hours、day of month、month、day of week、 command组成;域之间用空格或Tab分开;其中:minutes:分钟域;值的范围是0到59hours:小时域;值的范围是0到23day of month:日期;值的范围是1到31month:月份;值的范围是1到12day of week:星期;值的范围是0到6;星期日值为0command:所要运行的命令如果一个域是;表明命令可以在该域所有可能的取值范围内执行..如果一个域是由连字符隔开的两个数字;表明命令可以在两个数字之间的范围内执行包括两个数字本身..如果一个域是由逗号隔开的一系列值组成的;表明命令可以在这些值组成的范围内执行..如果日期域和星期域都有值;则这两个域都有效..编写一个文件;用以启动自动备份进程..cd /opttouch在中添加一下内容:0 4 rebootcrontab /opt/用crontab -e编辑定时操作;例如加入下行命令:用crontab -l命令来查看注意:需要启动服务添加在中重启crond任务/etc/cron restart ubuntu下第一种在Fedora或Redhat 等以RPM包管理的系统中;rootlocalhost ~ /etc/crond startrootlocalhost ~ /etc/crond stoprootlocalhost ~ /etc/crond restart/etc/crond restart命令简介crontab-操作每个用户的守护程序和该执行的时间表..部分参数说明crontab file -u user-用指定的文件替代目前的crontab.. crontab--u user-用标准输入替代目前的crontab.crontab-1user-列出用户目前的crontab.crontab-euser-编辑用户目前的crontab.crontab-duser-删除用户目前的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这三个环境变量..下面是一个例子文件:。

linux中定时任务crond命令使用方法

linux中定时任务crond命令使用方法

linux中定时任务crond命令使⽤⽅法什么是crond?crond是linux⽤来定期执⾏命令或指定程序任务的⼀种服务。

安装完操作系统后,默认会启动crond任务调度服务。

crond服务会定期检查系统中是否有要执⾏的任务。

如果有要执⾏的任务便会⾃动执⾏该任务。

crond定时任务服务就像我们早上使⽤的闹钟⼀样查看crond服务状态:命令:service crond status启动crond服务:命令:service crond start什么是crontab?crontab是⼀个可以在crond服务上添加或编辑定时任务的命令。

设置定时任务命令:crontab -u ⽤户名 //设定某个⽤户的crond服务,⼀般root⽤户需要这个参数crontab -l //列出某个⽤户crond服务的详细内容crontab -r //删除某个⽤户的crond服务crontab -e //编辑某个⽤户的crond服务例:root⽤户要查看⾃⼰的详细crond服务内容命令:crontab -u root -lcrontab file的格式crond服务是运⾏的程序,crontab是⽤户⽤来设置定时任务的命令。

crontab⽂件中的⾏是由6个字段组成,不同的字段间⽤空格或tab分隔。

前5个字段指定命令要运⾏的时间,第六个字段指定要实⾏的字符串。

例:/#2⽉1⽇星期3早上8点0 8 1 2 3 datecrontab语法格式中的特殊符号含义例:每天早上8点在显⽰屏上打印”hello …”这句话:0 8 * * * echo “hello …”crontab的使⽤者权限记录在下⾯两个⽂件内/etc/cron.deny //⽂件内的⽤户不允许使⽤/etc/cron.allow //⽂件内的⽤户允许使⽤/var/spool/cron/ //是所有⽤户的crontab⽂件总结:1、常见的定时任务分为两类:1.1、linux系统⾃⾝定期执⾏的任务⼯作例:轮询系统⽇志、备份系统数据、清理系统缓存。

linux中每天定时执行的写法

linux中每天定时执行的写法

linux中每天定时执行的写法在Linux系统中,我们经常需要定时执行一些任务,比如备份数据、清理日志、更新软件等等。

为了方便管理和自动化执行这些任务,我们可以使用Linux系统自带的定时任务工具——crontab。

Crontab是一个用于设置定时任务的命令,它可以让我们在指定的时间点或时间间隔内自动执行某个命令或脚本。

下面我们来介绍一下在Linux中每天定时执行的写法。

首先,我们需要打开终端,并以root用户身份登录。

然后输入以下命令来编辑crontab文件:```crontab -e```这个命令会打开一个文本编辑器,里面已经包含了一些注释和示例。

我们需要在文件的最后添加我们自己的定时任务。

假设我们要每天凌晨3点执行一个脚本文件,我们可以在crontab文件中添加以下内容:```0 3 * * * /path/to/script.sh```其中,0表示分钟,3表示小时,星号表示任意的日期和月份。

这样,脚本文件script.sh就会在每天凌晨3点执行。

如果我们希望任务执行的结果保存到一个日志文件中,可以使用重定向符号">",将输出重定向到指定的文件。

例如:```0 3 * * * /path/to/script.sh > /path/to/logfile.log```这样,脚本执行的输出就会保存到logfile.log文件中。

另外,如果我们希望任务执行的结果通过邮件发送给指定的邮箱,可以使用mail命令。

例如:```0 3 * * * /path/to/script.sh | mail -s "任务执行结果"****************```这样,脚本执行的输出就会通过邮件发送给****************。

除了每天定时执行,我们还可以设置其他的时间间隔。

例如,如果我们希望每隔一小时执行一次脚本,可以使用以下写法:```0 * * * * /path/to/script.sh```其中,星号表示任意的分钟,这样脚本就会在每个小时的整点执行。

如何使用Cron在Linux上设置定时任务

如何使用Cron在Linux上设置定时任务

如何使用Cron在Linux上设置定时任务Cron是Linux系统中一个非常有用的工具,它可以帮助我们在特定的时间间隔或固定的时间执行任务。

在本文中,我们将会学习如何使用Cron在Linux上设置定时任务。

首先,我们需要了解Cron的基本语法。

Cron的语法由5个字段组成,分别表示分钟、小时、日期、月份和星期几。

以下是Cron的基本格式:```* * * * * command```每个字段用空格分隔,可以是具体的数值、范围、递增步长或通配符。

其中,通配符`*`代表所有可能的值。

接下来,我们看一些示例来帮助我们更好地理解Cron的用法。

1. 在特定时间运行任务:我们可以使用Cron在特定的时间运行任务。

比如,我们想要在每天的凌晨3点运行一个脚本,我们可以使用以下Cron表达式:```0 3 * * * command```这个表达式的意思是,在每天的3点整执行`command`命令。

2. 在固定时间间隔运行任务:除了在特定时间运行任务,我们也可以使用Cron在固定的时间间隔内运行任务。

比如,我们想要每隔5分钟运行一次脚本,我们可以使用以下Cron表达式:```*/5 * * * * command```这个表达式的意思是,每隔5分钟执行一次`command`命令。

3. 指定多个值:在Cron中,我们也可以指定多个值来运行任务。

比如,我们想要在每个月的1号和15号的凌晨2点运行一个脚本,我们可以使用以下Cron表达式:```0 2 1,15 * * command```这个表达式的意思是,在每个月的1号和15号的凌晨2点执行`command`命令。

4. 使用范围和递增步长:除了指定具体的数值,我们也可以使用范围来运行任务。

比如,我们想要在每个周一至周五的9点到17点之间,每隔1小时运行一次脚本,我们可以使用以下Cron表达式:```0 9-17/1 * * 1-5 command```这个表达式的意思是,在每个周一至周五的9点到17点之间,每隔1小时执行`command`命令。

crontab定时任务

crontab定时任务

crontab定时任务Linux crontab是⽤来定期执⾏程序的命令。

⽬录⼀、介绍1、crond 是linux下⽤来周期性的执⾏某种任务或等待处理某些事件的⼀个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务⼯具,并且会⾃动启动crond进程,crond进程每分钟会定期检查是否有要执⾏的任务,如果有要执⾏的任务,则⾃动执⾏该任务。

注意:新创建的 cron 任务,不会马上执⾏,⾄少要过 2分钟后才可以,当然你可以重启 cron 来马上执⾏。

2、linux 任务调度的⼯作主要分为以下两类:a、系统执⾏的⼯作:系统周期性所要执⾏的⼯作,如备份系统数据、清理缓存b、个⼈执⾏的⼯作:某个⽤户定期要做的⼯作,例如每隔10分钟检查邮件服务器是否有新信,这些⼯作可由每个⽤户⾃⾏设置,来定制⾃⼰的计划任务。

3、在/etc⽬录下有⼀个crontab⽂件,这个就是系统任务调度的配置⽂件。

/etc/crontab⽂件包括下⾯⼏⾏:[root@localhost ~]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# 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 executed前四⾏是⽤来配置crond任务运⾏的环境变量第⼀⾏SHELL变量指定了系统要使⽤哪个shell,这⾥是bash第⼆⾏PATH变量指定了系统执⾏命令的路径第三⾏MAILTO变量指定了crond的任务执⾏信息将通过电⼦邮件发送给root⽤户,如果MAILTO变量的值为空,则表⽰不发送任务执⾏信息给⽤户第四⾏的HOME变量指定了在执⾏命令或者脚本时使⽤的主⽬录。

Linuxcron定时执行任务

Linuxcron定时执行任务

Linuxcron定时执⾏任务⼀ croncrond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最总引⽤/var/lock/subsys/crond。

cron是⼀个linux下的定时执⾏⼯具(相当于windows下的scheduled task),可以在⽆需⼈⼯⼲预的情况下定时地运⾏任务task。

由于cron 是Linux的service(deamon),可以⽤以下的⽅法启动、关闭这个服务:/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这个服务已经在进程⾥⾯了,我们就可以⽤这个服务了。

⼆ crontabcrontab位于/usr/bin/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这个格式的前⼀部分是对时间的设定,后⾯⼀部分是要执⾏的命令,如果要执⾏的命令太多,可以把这些命令写到⼀个脚本⾥⾯,然后在这⾥直接调⽤这个脚本就可以了,调⽤的时候记得写出命令的完整路径。

常用定时任务cron表达式

常用定时任务cron表达式

常用定时任务cron表达式Cron表达式是Linux和Unix下用来安排定期任务的一种标准格式。

很多人对于Cron表达式不是很熟悉,其实掌握一些常用的Cron表达式可以方便我们安排定时任务。

下面依次介绍几种常用的Cron表达式。

第一种:每分钟执行一次这是最简单的Cron表达式,表示每分钟执行一次。

它的表达式为:* * * * *。

解释一下,这里有五个*,分别代表分钟、小时、日期、月份和星期几。

五个*表示每个时间都匹配,所以这个表达式可以执行每一分钟。

第二种:每小时的第X分钟执行有时候我们需要指定在每个小时的第x分钟执行任务,比如每个小时的10分。

这时候,我们可以使用”0 10 * * *”的表达式。

解释一下,这里“0”表示分钟为0,另外四个*表示匹配每个小时,匹配所有日期,匹配所有月份,匹配所有星期几。

这个表达式表示每小时的0分时刻执行一次定时任务。

第三种:每天的X时X分执行如果我们需要指定在每天的特定时间执行任务,可以使用”0 20 * * *”表达式,表示每天晚上8点执行任务。

解释一下,这里“0”表示分钟为0,”20”表示小时数为20,另外三个*标识每月的所有日期,每周的所有星期,所以表达式定义了每天晚上8点整执行。

第四种:每周的某一天执行我们还可以指定每周的某几天的某一时刻执行定时任务。

比如,我们需要每周的周一至周五的上午12:10执行任务,可以使用表达式“10 12 * * 1-5”。

解释一下,这里“10”表示分钟数,”12”表示小时数,表示执行任务的时刻为每天的12:10分,在星期一至星期五都执行。

第五种:每月的特定日期的特定时间执行如果我们需要在每个月的特定日期的特定时间执行定时任务,可以使用表达式“0 07 12 15 *”表示每个月的15号上午7点执行任务。

解释一下,这里“0”表示分钟数为0,”7”表示小时数为7,”12”表示匹配12月份,匹配每月的15号,另外一个*代表匹配每个星期的所有天数。

linux定时任务cron表达式详解

linux定时任务cron表达式详解

linux定时任务cron表达式详解Cron是一个在Linux系统中非常常用的定时任务工具,它能够让用户在指定的时间间隔内执行特定的命令或脚本。

Cron使用一种叫作Cron表达式的语法来指定任务的执行时间。

下面我们将详解Cron表达式的各个部分。

Cron表达式由5个字段组成,分别是分钟、小时、日期、月份和星期几。

每个字段都有特定的取值范围和特殊符号,它们的组合能够构成多种不同的定时任务。

1. 分钟字段:表示每小时的第几分钟执行任务。

范围为0-59,可以使用逗号分隔的列表、连续区间、间隔等方式指定多个值。

2. 小时字段:表示每天的第几小时执行任务。

范围为0-23,同样可以使用逗号分隔的列表、连续区间、间隔等方式指定多个值。

3. 日期字段:表示每月的第几天执行任务。

范围为1-31,可以使用逗号分隔的列表、连续区间、间隔、特殊字符等方式指定多个值。

特殊字符包括星号(表示任意值)、斜杠(表示间隔值)以及问号(表示未指定)。

4. 月份字段:表示每年的第几个月执行任务。

范围为1-12,同样可以使用逗号分隔的列表、连续区间等方式指定多个值。

5. 星期字段:表示一周中的哪一天执行任务。

范围为0-7,其中0和7都表示星期日。

同样可以使用逗号分隔的列表、连续区间、特殊字符等方式指定多个值。

注意,日期字段和星期字段不能同时为特殊字符。

除了这5个字段,Cron表达式还可以包含特殊的字符和符号,如星号(表示任意值)、斜杠(表示间隔值)、连字符(表示范围)、逗号(表示分隔值)等。

这些特殊字符可以增加Cron表达式的灵活性和可读性。

总结来说,Cron表达式是一种使用简单而强大的定时任务语法,能够满足各种定时执行任务的需求。

通过合理使用不同字段和特殊字符的组合,我们可以精确地指定任务的执行时间。

对于Linux系统管理员和开发人员来说,掌握Cron表达式的使用是十分重要的。

希望这篇文章能够帮助您更好地理解和使用Linux定时任务Cron表达式。

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

使用crond 在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是表示星期天------------------------------------------------任何字段中的星号是通配符,例如,如果第一个字段包括星号,则特定若无其事在可能的每一分钟运行。

如果要指定时间范围,比如上午8点到下午4点,则可以见第二个字段设置为8~16。

如果要隔一天运行任务,则可以将第三个字段设置为*/2。

可以看出,如果五个字段(minute、hour、day、month、day of week) 之后,cron中的每个字段就没什么神秘之处了。

2. 用户自己的cron用户也可以计划用户自己的cron任务,比如他想要在半夜整理他的文件,然后发送邮件给自己,只要这个用户他没有在/etc/cron.deny表中,就可以使用crontab -e命令来启动自己的cron文件。

3. 对cron的访问控制默认情况下,所有用户都能访问cron工具,要对cron进行访问控制,则可以生成/etc/cron.allow与/etc/cron.deny文件。

(1)这两个文件都不存在时,每个用户都可以访问cron工具](2)存在/etc/cron.allow文件时,则只有cron.allow文件中允许的用户才能访问cron工具,如果也有/etc/cron.deny文件,则忽略cron.deny 文件二、 使用at命令定期运行程序1. 使用cron运行任务cron任务的缺点是计划要经常运行,假如我们只是想要让特定任务运行一次呢?那么,这时候就要用到at监控程序了。

设置at命令很简单,指示定运行的时间,那么就会在哪个时候运行。

at 类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它 .at命令相当于另一个shell,运行at time命令时,它发送一个命令,可以输入任意命令或者程序。

at now + time命令可以在指示任务。

假设处理一个大型数据库,要在别人不用系统时去处理数据,比如凌晨2点5分。

那么我们就应该先建立/home/mj/airplane脚本管理数据库,计划处理/home/mj/air-safe文件中的结果。

正常方式是这样启动下列命令:# at 2:05 tomorrowat> /home/mj/airplane > /home/mj/air-safeat> Ctrl+DAT 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点3Linux 通过脚本执行Java程序最近在Linux上定时执行脚本程序的要求越来越多了,今天的任务是:在Linux服务器上编一个脚本,并定时执行该脚本(脚本的目的执行一个java程序,要求java程序要打成jar包)。

1.编写java程序(公司要求我要读取一个txt文件,并将txt文件的不同的ip做一个统计在存放到一个新的txt文件中)由于要统计不同的IP,代码中应用了HashSet来存放IP地址。

上述Java程序是在Windows下编写的,如果在Linux服务器上运行,只需要把上面文件的路径和文件更换了就可以了。

2.编写好java程序后,将java程序打成jar文件(环境Linux)我将上述测试好的java类上传到了Linux服务器上,考虑到服务器的路径与windows下的路径不同所以我在服务器上将上述代码更改为服务器上的代码了。

(1) 修改文件路径Java代码sudo vim Test1.java(2) 生成.class文件Java代码javac Test1.java(3) 创建一个.mf文件,并编辑该文件Java代码sudo touch Test1.mfJava代码sudo vim Test1.mfTest1.mf文件内容如图:(4) 打.jar包Java代码jar cfm test1.jar Test1.mf *.class执行完上述命令,文件夹中会多一个test1.jar文件Java代码java -jar test1.jar测试你的jar是否成功,如果成功会有一个123.txt文档。

(5) 编写一个Linux脚本执行第四步命令(写此脚本的目的是方便以后Linux可以定时执行脚本)新建一个.sh文件Java代码sudo touch test.sh编辑该test.sh文件 文件内容如图:Java代码sudo chmod 777 test.shJava代码./test.sh上面就把Linux执行java程序介绍完了,关于如何执行脚本可以参考/Linux/2010-06/26534.htm 本文用的的文件可以在附件中下载其中welcomelog.txt为原始文件,123.txt为程序生成文件。

附件下载Ubuntu定时执行.sh脚本在Ubuntu中备份svn上传的代码,将备份的文件命名为svn_backup+当前时间.dump文件(例svn_backup20100525.dump)1.编写脚本文件(backup.sh)sudo touch backup.sh创建脚本文件,并编辑文件sudo vim backup.sh上图为配置的文件内容,代码如下:#!/bin/shsudo svnadmin dump /srv/svn/repos/works >/home/jordy/svn_back_up$(date + %Y%m%d).dumpecho success!中间那句是将/srv/svn/repos/works 目录下的代码备份到/home/jordy/目录下,文件名为svn_backup+当前时间.dump文件,最后一句只是提示备份成功,可以删掉。

使用命令sh -x backup.sh测试脚本是否成功。

上面脚本文件编写完成后,下面执行定时任务:sudo vim /etc/crontab如图代码中的最后一行,其中:是表示备份的时间,按照 m h dom mon dow 填写,我的测试时每一分钟执行一次backup.sh脚本文件。

操作结束,可以去相应的目录下查看备份文件是否生成。

linux定时任务的设置为当前用户创建cron服务1. 键入 crontab -e 编辑crontab服务文件例如文件内容如下:*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 保存文件并并退出*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh*/2 * * * * 通过这段字段可以设定什么时候执行脚本/bin/sh /home/admin/jiaoben/buy/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行脚本的命令后面一段时指脚本存放的路径2. 查看该用户下的crontab服务是否创建成功,用 crontab -l命令3. 启动crontab服务一般启动服务用 /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start,这里还是要注意下不同版本linux 系统启动的服务的命令也不同,像我的虚拟机里只需用 sudoservice cron restart 即可,若是在根用下直接键入service cron start就能启动服务4. 查看服务是否已经运行用 ps -ax | grep cron5. 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任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。

相关文档
最新文档