linux中crontab命令实例详解

linux中crontab命令实例详解

由于Cron 是Linux的内置服务,但它不⾃动起来,可以⽤以下的⽅法启动、关闭这个服务:service cron start //启动服务

service cron stop //关闭服务

service cron restart //重启服务

service cron reload //重新载⼊配置

你也可以将这个服务在系统启动的时候⾃动启动:

在/etc/rc.d/rc.local这个脚本的末尾加上:service cron 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 line

1⽉1⽇早上4点

0 4 1 1 * command line

每 次编辑完某个⽤户的cron设置后,cron⾃动在/var/spool/cron下⽣成⼀个与此⽤户同名的⽂件,此⽤户的cron信息都记录在这个⽂件 中,

这个⽂件是不可以直接编辑的,只可以⽤crontab -e 来编辑。cron启动后每过⼀份钟读⼀次这个⽂件,检查是否要执⾏⾥⾯的命令。因此此

⽂件修改后不需要重新启动cron服务。

使⽤VIM作为 Crontab的编缉器:export EDITOR=vim

2.编辑/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"这个参数了,如果去掉这个参数的话,后⾯就可以写要运⾏的某个脚本名,⽽不是⽂件夹名了

名称 : at

使⽤权限 : 所有使⽤者

使⽤⽅式 : at -V [-q queue] [-f file] [-mldbv] TIME说明 : at 可以让使⽤者指定在 TIME 这个特定时刻执⾏某个程式或指令,TIME 的格式是 HH:MM其中的 HH 为⼩时,MM 为分钟,甚⾄你也

可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等⼝语词。

如果想要指定超过⼀天内的时间,则可以⽤ MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分钟,DD 是第⼏⽇,YY 是指年份。另外,使

⽤者甚⾄也可以使⽤像是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours, days, weeks

另外,使⽤者也可指定 today 或 tomorrow 来表⽰今天或明天。当指定了时间并按下 enter 之后,at 会进⼊交谈模式并要求输⼊指令或程

式,当你输⼊完后按下 ctrl+D 即可完成所有动作,⾄于执⾏的结果将会寄回你的帐号中。

把计 :-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 : 列出所有已经完成但尚未删除的指定

例⼦ :

三天后的下午 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 !

合集下载

Linux之crontab命令

Linux之crontab命令

Linux之crontab命令

简介

通过crontab 命令,我们可以在固定的间隔时间执⾏指定的系统指令或 shell 脚本。时间间隔的单位可以

是分钟、⼩时、⽇、⽉、周及以上的任意组合。这个命令⾮常适合周期性的⽇志分析或数据备份等⼯作。

命令格式

参数详解

-u user:⽤来设定某个⽤户的crontab服务;

file:file是命令⽂件的名字,表⽰将file做为crontab的任务列表⽂件并载⼊crontab。如果在命令⾏中没有指定这个⽂件,crontab命令将接受标准输⼊(键盘)上键⼊的命令,并将它

们载⼊crontab。-e:编辑某个⽤户的crontab⽂件内容。如果不指定⽤户,则表⽰编辑当前⽤户的crontab⽂件。

-l:显⽰某个⽤户的crontab⽂件内容,如果不指定⽤户,则表⽰显⽰当前⽤户的crontab⽂件内容。

-r:从/var/spool/cron⽬录中删除某个⽤户的crontab⽂件,如果不指定⽤户,则默认删除当前⽤户的crontab⽂件。

-i:在删除⽤户的crontab⽂件时给确认提⽰。

crontab⽂件格式

实际运⽤

创建⼀个新的 crontab ⽂件,向cron进程提交⼀个crontab⽂件之前,⾸先要设置环境变量EDITOR。

cron进程根据它来确定使⽤哪个编辑器编辑crontab⽂件。99%的UNIX和LINUX⽤户都使⽤vi,如果你

也是这样,那么就编辑$HOME⽬录下的. profile⽂件,在其中加⼊这样⼀⾏

然后保存并退出。创建⼀个名为cron的⽂件,其中加上⽤户名,例如, testcron。在该⽂件中加⼊

如下的内容,保存并退出。注意前⾯5个域⽤空格分隔。

在上⾯的例⼦中,系统将每隔1 5分钟向控制台输出⼀次当前时间。如果系统崩溃或挂起,从最后

所显⽰的时间就可以⼀眼看出系统是什么时间停⽌⼯作的。在有些系统中,⽤tty1来表⽰控制台,可以

根据实际情况对上⾯的例⼦进⾏相应的修改。为了提交你刚刚创建的crontab⽂件,可以把这个新创建的⽂件作为cron命令的参数 。

linux的crontab用法 -回复

linux的crontab用法 -回复

linux的crontab用法 -回复

Linux的crontab用法

在Linux操作系统中,crontab是一个非常有用的工具,它允许用户在预定的时间自动执行一些任务。无论是执行系统维护任务,还是运行用户特定的脚本,crontab都能满足你的需求。本文将一步一步地介绍Linux中crontab的用法,以帮助读者更好地使用和管理crontab。

什么是crontab?

Crontab是一个定义在Unix和类Unix系统中的命令,用于安排在某个时间自动执行的任务。它是基于时间的任务调度程序。你可以使用crontab将一个任务指定为在特定的日期、时间和间隔上自动运行,而不需要手动操作。

如何编辑crontab文件?

要编辑crontab文件,你可以使用命令行上的任何文本编辑器。最常用的命令是“crontab -e”,它将打开一个新的文件或已存在的文件进行编辑。

例:

crontab -e

这将打开一个空白的文件(如果文件还不存在)或一个包含预先定义的任务的文件。在文件中,你可以按照下面的格式添加和编辑任务.

* * * * * command

这个格式定义了任务的时间规则和要执行的命令。每个字段代表不同的时间单位,以及在那个时间单位上的执行间隔。

- 分钟 (0 - 59)

- 小时 (0 - 23)

- 天 (1 - 31)

- 月 (1 - 12)

- 星期几 (0 - 7,星期日为0和7)

例如,如果你想每小时运行一个命令,你可以这样写:

0 * * * * command

使用星号代表所有可能的值,你还可以指定范围和逗号分隔的值。例如,如果你想在周一到周五的上午8点运行一个命令,你可以这样写:

0 8 * * 1-5 command

在添加任务之后,请务必保存并退出文件。crontab将自动加载新的任务,并在指定的日期和时间下运行它。

如何查看和删除crontab任务?

要查看当前用户的所有crontab任务,你可以使用命令“crontab -l”。

Linux命令crontab的理解和使用方法

Linux命令crontab的理解和使用方法

Linux命令crontab的理解和使⽤⽅法

1.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这三个环境变量

说明 : crontab 是⽤来让使⽤者在固定时间或固定间隔执⾏程序之⽤,换句话说,也就是类似使⽤者的时程表。-u user 是指设定指定

user 的时程表,这个前提是你必须要有其权限(⽐如说是 root)才能够指定他⼈的时程表。如果不使⽤ -u user 的话,就是表⽰设

定⾃⼰的时程表。

参数 : crontab -e : 执⾏⽂字编辑器来设定时程表,内定的⽂字编辑器是 VI,如果你想⽤别的⽂字编辑器,则请先设定 VISUAL 环境变数

来指定使⽤那个⽂字编辑器(⽐如说 setenv VISUAL joe) crontab -r : 删除⽬前的时程表

crontab -l : 列出⽬前的时程表

crontab file [-u user]-⽤指定的⽂件替代⽬前的crontab。

2.crontab命令的使⽤

1)0 20 * * * $HOME/.profile;/work/user/guoch/start.sh

每天的晚上8点 执⾏上⾯路径的脚本

crontab命令详解

crontab命令详解

crontab命令详解

linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上⾯原本就有⾮常多的计划性⼯作,因此这个系统服务是默认启动的。另外, 由于使⽤者⾃⼰

也可以设置计划任务,所以, Linux 系统也提供了使⽤者控制计划任务的命令 :crontab 命令。

⼀、crond简介

crond 是linux下⽤来周期性的执⾏某种任务或等待处理某些事件的⼀个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务

⼯具,并且会⾃动启动crond进程,

crond进程每分钟会定期检查是否有要执⾏的任务,如果有要执⾏的任务,则⾃动执⾏该任务。

在LINUX中,周期执⾏的任务⼀般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取⼀个或多个配置⽂件,这些配置⽂件中包含了命令⾏及其调⽤时

间。

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

⼆、使⽤crontab命令与添加调度

Usage:

crontab [options] file

crontab [options]

crontab -n [hostname]

Options:

-u define user

-e edit user's crontab

-l list user's crontab

-r delete user's crontab

-i prompt before deleting

-n set host in cluster to run users' crontabs

-c get host in cluster to run users' crontabs

-s selinux context

-x enable debugging

-u user:⽤来设定某个⽤户的crontab服务,例如,“-u ixdba”表⽰设定ixdba⽤户的crontab服务,此参数⼀般有root⽤户来运⾏。

qnap crontab用法

qnap crontab用法

qnap crontab用法

Crontab是一个非常方便的Linux命令,它可以让用户定时执行某些命令或脚本,以达到自动化的目的。Qnap Crontab是可以在QNAP NAS上自动执行一些任务的功能。在这篇文章中,我们将会介绍Qnap Crontab的用法,重点是介绍中括号的使用方法。

一、基本介绍

1.Crontab的使用场景:一些特定的定时任务需要在规定的时间点自动执行,比如备份数据,统计日志等。

2.Crontab的基本语法

* * * * * command to be executed

- - - - -

+ day of the week (0 - 6) (Sunday=0)

+- month (1 - 12)

+ day of the month (1 - 31)

+ hour (0 - 23)

+- min (0 - 59)

以上是Crontab的语法格式,其中五个`*`表示了时间的设置,具体含义如下:

- 第一列代表分钟,范围是0-59;

- 第二列代表小时,范围是0-23;

- 第三列代表一个月中的某日,范围是1-31;

- 第四列代表月份,范围是1-12;

- 第五列代表星期,范围是0-6。

执行的命令或脚本需要写在最后一列上。

3.常见的符号

在Crontab使用过程中,常见的符号有以下几个:

- ``:表示所有的值,即通配符;

- `-`:表示范围,如3-6表示3、4、5、6;

- `,`:表示指定多个值,如4,6,8,表示4、6、8;

- `/`:表示增量,如3/5,表示从3开始,每5个步长,即3、8、13、18……;

- `*`:表示不设置,如第五列中的`*`表示不关注星期几。

linux crontab用法

linux crontab用法

linux crontab用法

Linux的Cron是一个非常强大的工具,它可以定期执行指定的任务。它的使用可以帮助用户在Linux系统上定时安排执行各种任务,如备份文件、定时更新软件等。

Crontab命令可以用来管理和编辑用户的Cron任务。通过Crontab命令可以安排Cron任务,并且可以使用其他命令查看、修改或删除正在运行的Cron任务。

在Linux中,要使用Crontab命令,需要使用root权限。首先,你需要使用命令sudo su来切换到root用户并输入你的root密码。接着,你可以使用下面的命令来创建一个Cron任务:

crontab -e。

这会自动打开编辑器,来编辑你的Cron任务。一旦你编辑好了你的Cron任务,保存并退出编辑器,你的任务就会自动添加到你的Cron表中。

你可以使用以下命令来查看你的Cron表:

crontab -l。

如果你想要删除一个Cron任务,你可以使用下面的命令来删除:

crontab -r。

最后,你可以使用下面的命令来停止和启动Cron服务:

systemctl stop cron。

systemctl start cron。 Cron服务可以帮助你在Linux系统上计划执行脚本。通过使用Crontab命令,你可以轻松地管理和编辑你的Cron任务。

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

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

在Linux操作系统中,我们可以使用crontab命令来设置定时任务。Crontab是Linux下的一个定时执行工具,能够在指定的时间自动执行特定的任务,非常方便实用。本文将介绍如何在Linux中使用crontab命令来设置定时任务。

1. 查看已有的定时任务

在开始设置定时任务之前,我们可以先查看系统中已有的定时任务,以便了解当前的任务状态。可以通过运行以下命令来查看:

```

crontab -l

```

该命令将列出当前用户的所有定时任务。如果当前用户没有设置任何定时任务,则不会有任何输出。

2. 编辑定时任务

要编辑已有的定时任务或新增一个定时任务,可以使用以下命令:

```

crontab -e

``` 该命令将会打开一个文本编辑器,其中已经包含了当前用户的所有定时任务。每一行对应一个定时任务,通过编辑、新增和删除这些任务来实现定时任务的管理。

3. 设置定时任务的格式

每个定时任务都有一个固定的格式,该格式由五个字段组成,分别表示分钟、小时、日期、月份和星期几。这些字段以空格或制表符分隔,如下所示:

```

* * * * * command

```

- 第一个字段表示分钟,取值范围为0-59,可以使用通配符“*”表示每分钟执行。

- 第二个字段表示小时,取值范围为0-23,使用通配符“*”表示每小时执行。

- 第三个字段表示日期,取值范围为1-31,使用通配符“*”表示每天执行。

- 第四个字段表示月份,取值范围为1-12,使用通配符“*”表示每月执行。

- 第五个字段表示星期几,取值范围为0-7(0和7都表示星期日),使用通配符“*”表示每周执行。 在以上五个字段之后,还需跟上要执行的命令或脚本路径。

下面是一些定时任务的示例:

- 每天凌晨三点清理/tmp目录下的临时文件:

```

0 3 * * * rm -rf /tmp/*

linux shell中crontab用法

在Linux Shell中,crontab是一个用于设置周期性被执行的任务的工具。以下是crontab的基本用法:

打开crontab编辑器:

crontab -e

这将打开一个文本编辑器(通常是vi或nano,具体取决于系统配置),您可以在其中添加、编辑或删除计划任务。

添加计划任务:

在编辑器中,每行代表一个计划任务。每个任务由六个字段组成,用空格分隔。这些字段分别是:

分钟 小时 日 月 周 命令

* 分钟:指定任务在每小时的第几分钟执行,有效范围是0-59。

* 小时:指定任务在每天的第几个小时执行,有效范围是0-23。

* 日:指定任务在每月的第几天执行,有效范围是1-31。

* 月:指定任务在哪个月份执行,有效范围是1-12。

* 周:指定任务在每周的第几天执行,有效范围是0-7,其中0和7都表示周日。

* 命令:要执行的命令或脚本。例如,要在每天的上午8点执行一个名为"my_script.sh"的脚本,可以添加以下行:

bash

0 8 * * * /path/to/my_script.sh

保存并退出编辑器。

一旦您编辑完计划任务并保存更改,crontab将自动加载新的任务配置。

查看当前用户的计划任务:

crontab -l

这将显示当前用户的所有计划任务。

删除当前用户的计划任务:

crontab -r

这将删除当前用户的所有计划任务。

请注意,crontab中的每个字段都支持特定的特殊字符和语法,例如"*"表示匹配任何值,","用于指定多个值,"-"表示范围,"/"表示步长等。您可以使用这些特殊字符和语法来创建更复杂的计划任务。

linux周期性执行指令crontab

A、 crontab简介

我们应用crontab命令实现周期性执行指令的目标。

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

通常,crontab储存的指令被守护进程激活,crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

B、 crontab命名

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

-e (edit user's crontab) 执行文字编辑器来设定时程表,内定的文字编辑器是vi

-l (list user's crontab) 列出目前的时程表

-r (delete user's crontab) 删除目前的时程表

C、crontab文件

crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。

crontab文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。

C.1、时程表的格式

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小时个时间间隔执行一次,其余类推

Linux下crontab命令的用法:sudocrontab-l

Linux下crontab命令的⽤法:sudocrontab-l

cron 是linux系统下⼀个⾃动执⾏指定任务的程序.

cron服务是linux的内置服务,但它不会开机⾃动启动。可以⽤以下命令启动和停⽌服务:

Linux代码

1. /sbin/service crond start 2. /sbin/service crond stop 3. /sbin/service crond restart 4. /sbin/service crond reload 以上1-4⾏分别为启动、停⽌、重启服务和重新加载配置。要把cron设为在开机的时候⾃动启动,在 /etc/rc.d/rc.local 脚本中加⼊ /sbin/service crond start 即可。查看,删除,修改cron把命令⾏保存在crontab(cron table)⽂件⾥,这个⽂件通常在 /etc ⽬录下。每个系统⽤户都可以有⾃⼰的crontab(在 /var/spool/cron/ 下)。 file 使⽤file⽂件的内容作为某个⽤户的cron服务配置,内容会复制到cron服务的配置⽂件中

-u 设定某个⽤户的cron服务配置,⼀般root ⽤户在执⾏这个命令的时候需要此参数

-l 列出某个⽤户cron服务配置

-r 删除某个⽤户的cron服务配置

-e 编辑某个⽤户的cron服务配置,当指定crontab 不存在时新建,将使⽤vi打开配置⽂件进⾏编辑保存后退出,⽂件语法见后

crontab –v 显⽰上⼀次编辑的时间(只在某些操作系统上可⽤)

例如:sudo crontab -l

语法

每⾏表⽰⼀个指令,即表⽰⼀项计划任务;每⾏由空格分隔的六个部分组成,前5部分表⽰定时任务的执⾏时间,剩余部分为定时任务要执⾏的命令,格式如下:分 ⼩时 ⽇ ⽉ 星期 命令Minute Hour Day Month DayOfWeek commandMinute 每个⼩时的第⼏分钟执⾏该任务,0-59

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