Solaris: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 表示每隔两个小时执行一次。

crontab 时间用法

crontab 时间用法

Crontab是一个用于在固定时间间隔内执行任务的工具。

Crontab的用法如下:
1. 添加或更新crontab中的命令:使用crontab -e命令打开crontab编辑器,添加或更新任务。

每行代表一个任务,格式如下:
* 分钟小时日月周命令
* 分钟:表示分钟,可以是0到59之间的任何整数。

* 小时:表示小时,可以是0到23之间的任何整数。

* 日:表示日期,可以是1到31之间的任何整数。

* 月:表示月份,可以是1到12之间的任何整数。

* 周:表示星期几,可以是0到7之间的任何整数,其中0或7代表星期日。

* 命令:要执行的命令或脚本。

例如,要在每天中午12点执行一个脚本,可以添加以下行:
```
0 12 * * * /path/to/script.sh
```
2. 查看当前系统登录用户的Crontab命令集合:使用crontab -l
命令查看当前用户已经添加的任务。

3. 保存并退出:在编辑器中完成添加或更新任务后,保存并退出编辑器。

在大多数编辑器中,可以使用Ctrl+X,然后按Y键保存,再按Enter键确认。

这样,Crontab就会在指定的时间间隔内自动执行任务了。

需要注意的是,如果要使用Crontab执行脚本或命令,该脚本或命令必须具有可执行权限。

通过crontab命令查看和编辑定时任务

通过crontab命令查看和编辑定时任务

通过crontab命令查看和编辑定时任务cron是Unix和类Unix操作系统中的一个时间任务调度器,常用于周期性地执行指定的任务或命令。

而crontab命令即用于查看和编辑用户的定时任务。

本文将介绍如何使用crontab命令来查看和编辑定时任务。

一、查看定时任务要查看定时任务,可以使用以下命令:```shellcrontab -l```执行上述命令后,系统会将当前用户的定时任务列表显示出来。

如果当前用户没有设置任何定时任务,命令行会显示 "no crontab for username"。

二、编辑定时任务要编辑定时任务,可以使用以下命令:```shellcrontab -e```执行上述命令后,系统会自动打开一个文本编辑器,显示当前用户的定时任务。

如果当前用户没有设置任何定时任务,编辑器中将为空白。

三、定时任务格式定时任务的每一行由六个字段组成,分别表示分钟、小时、日期、月份、星期和要执行的命令。

各字段之间由空格分隔。

下面是定时任务格式的详细说明:1. 分钟(0-59)2. 小时(0-23)3. 日期(1-31)4. 月份(1-12)5. 星期(0-7,其中0和7都表示星期日)6. 要执行的命令例如,如果要设置每天早上8点30分执行一个脚本文件,可以使用以下格式的定时任务:```shell30 8 * * * /path/to/script.sh```这表示在每天的8点30分执行 "/path/to/script.sh" 这个脚本文件。

四、定时任务示例下面是一些定时任务的示例,以便更好地理解定时任务的设置方法:1. 执行一个脚本文件,每天早上5点定时执行:```shell0 5 * * * /path/to/script.sh```2. 每隔5分钟执行一次命令:```shell*/5 * * * * command```3. 每隔两小时执行一次命令:```shell0 */2 * * * command```4. 每月的1号凌晨3点执行一次命令:```shell0 3 1 * * command```五、保存和退出定时任务编辑器在编辑定时任务时,可以按照编辑器的要求进行修改或添加定时任务。

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] filecrontab [options]crontab -n [hostname]Options:-u <user> define user-e edit user's crontab-l list user's crontab-r delete user's crontab-i prompt before deleting-n <host> set host in cluster to run users' crontabs-c get host in cluster to run users' crontabs-s selinux context-x <mask> enable debugging-u user:⽤来设定某个⽤户的crontab服务,例如,“-u ixdba”表⽰设定ixdba⽤户的crontab服务,此参数⼀般有root⽤户来运⾏。

Shell脚本编写的高级技巧利用定时任务实现定时操作

Shell脚本编写的高级技巧利用定时任务实现定时操作

Shell脚本编写的高级技巧利用定时任务实现定时操作Shell脚本编写的高级技巧:利用定时任务实现定时操作Shell脚本是一种在Unix/Linux系统下编写的脚本语言,它可以通过命令行解释器(如Bash)执行一系列的命令。

在Shell脚本编写的过程中,掌握一些高级技巧可以提高脚本的可用性和灵活性。

其中,利用定时任务实现定时操作是一项常见且有用的技巧。

本文将介绍利用定时任务实现定时操作的方法和技巧。

1. 使用crontab定时任务crontab是Unix/Linux系统中的一个定时任务管理工具,它可以根据用户的定义,定期执行某个脚本或命令。

在Shell脚本中,我们可以通过编辑crontab文件来设置定时任务。

具体步骤如下:1. 打开终端,输入命令 "crontab -e",进入crontab编辑界面。

2. 在编辑界面中,按照一定的格式添加定时任务。

例如,要每天的上午9点执行一个脚本,可以在文件中添加以下内容:```0 9 * * * /path/to/script.sh```这行代码表示在每天上午9点执行指定路径下的script.sh脚本。

3. 保存文件并退出编辑界面。

crontab将自动根据设置的定时任务在指定时间执行。

2. 参数详解在上述示例中,0 9 * * * 是crontab的时间表达式之一,用于设置任务的执行时间。

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

这5个字段可以使用特定的符号进行表示。

例如,星号(*)代表任意值,逗号(,)表示多个值,连字符(-)表示范围,斜线(/)表示间隔。

下面是一些常用的时间表达式示例:- `* * * * *`:每分钟执行一次。

- `0 * * * *`:每小时的第0分钟执行。

- `0 9 * * *`:每天上午9点执行。

- `0 9,18 * * *`:每天的上午9点和下午6点执行。

- `*/15 * * * *`:每15分钟执行一次。

crontab案例

crontab案例

crontab案例Crontab是一个在Unix和类Unix操作系统上用于设置定期执行任务的工具。

它允许用户按照指定的时间间隔自动运行命令或脚本。

下面我将给出几个Crontab的案例,以展示不同的用法和角度。

1. 示例一,每天定时备份文件。

0 0 cp /path/to/source /path/to/destination.这个例子表示在每天的午夜12点整,将`/path/to/source`目录下的文件备份到`/path/to/destination`目录中。

2. 示例二,每隔一小时运行脚本。

0 /path/to/script.sh.这个例子表示每小时的整点时刻,运行`/path/to/script.sh`脚本。

3. 示例三,每周五定时清理日志文件。

0 0 5 rm /path/to/logs/.log.这个例子表示在每周五的午夜12点整,删除`/path/to/logs/`目录下的所有`.log`文件。

4. 示例四,每月定时发送邮件通知。

0 9 1 echo "请记得支付账单" | mail -s "账单提醒"****************.这个例子表示在每月的1号上午9点整,向`****************`发送一封邮件,提醒用户支付账单。

5. 示例五,每分钟记录系统负载信息到日志文件。

uptime >> /path/to/load.log.这个例子表示每分钟将系统的负载信息追加记录到`/path/to/load.log`文件中。

这些只是几个Crontab的简单案例,实际上,Crontab非常灵活,可以根据具体需求定制各种定时任务。

通过合理设置Crontab,可以实现自动化、定期执行的任务,提高工作效率。

crontab -e的用法

crontab -e的用法

crontab -e的用法"crontab -e"是用来编辑crontab任务的命令。

crontab是一个用于定期运行程序或脚本的工具,它是基于时间的任务调度程序。

通过编辑crontab文件,我们可以在特定的时间间隔内运行指定的命令。

使用"crontab -e"命令,可以打开一个文本编辑器来编辑当前用户的crontab文件。

默认情况下,crontab文件是空的,因此每次运行"crontab -e"时,将会打开一个空文件。

编辑crontab文件的格式如下:```* * * * * command```其中,每个星号表示一个时间字段,其含义如下:- 第一个星号表示分钟(0-59)- 第二个星号表示小时(0-23)- 第三个星号表示一个月份中的某一天(1-31)- 第四个星号表示月份(1-12)- 第五个星号表示一周中的某一天(0-6,0表示星期日)- command表示要执行的命令或脚本可以使用以下特殊符号来代替具体的数字:- “*”代表任意时间- ”/“表示间隔,例如“5/10”表示从第5分钟开始,每隔10分钟执行一次编辑完crontab文件后,保存并退出编辑器即可。

注意:对于普通用户来说,"crontab -e"只能编辑当前用户的crontab文件。

对于root用户来说,可以使用"crontab -e"命令编辑任意用户的crontab文件。

可以使用"crontab -l"命令来查看当前用户的crontab任务列表。

可以使用"crontab -r"命令来删除当前用户的crontab任务列表。

crontable语法

crontable语法

crontab语法1. 什么是crontab?crontab是一个用于在Unix和类Unix系统上自动执行任务的命令。

它允许用户根据特定的时间间隔或日期来安排任务的执行。

crontab命令可以创建、修改、删除用户的cron表,cron表中包含了一系列要执行的任务。

2. crontab的基本语法* * * * * command上述语法中,星号(*)代表了一个通配符,表示任意值。

每个星号代表了不同的时间单位,从左到右依次为:•分钟(0-59)•小时(0-23)•日期(1-31)•月份(1-12)•星期几(0-7,其中0和7都代表周日)command部分表示要执行的命令或脚本。

3. 常用crontab示例示例一:每天定时备份数据库0 2 * * * /usr/bin/mysqldump -u username -p password database > /path/to/backu p.sql上述示例中,0 2 * * *表示每天凌晨2点执行命令。

/usr/bin/mysqldump -u username -p password database是备份数据库的命令,将结果输出到/path/to/backup.sql文件中。

示例二:每小时清理临时文件0 * * * * rm -rf /tmp/*上述示例中,0 * * * *表示每小时执行命令。

rm -rf /tmp/*是删除/tmp/目录下的所有文件和子目录的命令。

示例三:每周六定时重启服务器0 0 * * 6 /sbin/reboot上述示例中,0 0 * * 6表示每周六午夜零点执行命令。

/sbin/reboot是重启服务器的命令。

4. crontab特殊字符星号(*)星号代表了一个通配符,表示任意值。

例如,使用星号在所有时间单位上都匹配所有可能值,可以实现每分钟执行一次的任务:* * * * *逗号(,)逗号用于分隔多个取值。

例如,以下示例将在每天的早晨9点和下午5点分别执行两个不同的任务:0 9,17 * * *连接符(-)连接符用于指定一个范围内的连续取值。

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

S o l a r i s:c r o n t a b 的用法(定时任务)Solaris:crontab的用法说句实在话,俺真的是不喜欢Solaris,用起来实在太难受,关键是不会用。

在Linux/FreeBSD下,查看当前crontab任务的语法是 crontab -l ,编辑用户的任务是 crontab -u <用户名> -e但是,在Solaris下crontab是没有-u参数地,crontab: proper usag e is:crontab [file | -e | -l | -r ] [user]有兴趣的自己试吧,非常难用。

当然,这里我要向大家坦白,我不懂Solaris,之所以抱怨主要是因为它的操作与我所认识的差别较大。

长话短说,我来介绍一下自己摸索出来的经验吧:1、停止crontab服务shell> /etc/init.d/cron stop2、编辑crontab,有两种方法[第一种](推荐)直接编辑 /var/spool/cron/crontabs/ 下对应用户的crontab文件,没有的就以用户名新建即可。

但要注意应该用 vim 编辑,Solaris默认的vi编辑器不是vim。

[第二种]使用命令 crontab -e <用户名>,这种我还不知道如何使用,总结的经验和教训是:Ctrl+D是保存退出编辑模式,Ctrl+Z是不保存退出编辑模式。

一旦Ctrl+D会将原有crontab内容全部replace,一定要小心操作。

3、启动crontab服务shell> /etc/init.d/cron start4、Solaris下的命令用法补充,这是从网上看来的,觉得有必要说明一下# crontab -l root 可以查看root用户的crontab任务列表。

若要20分钟执行一次某个任务,可以这样写:0,20,40 * * * * command若要5分钟执行一次某个任务,可以这样写:0,5,10,15,20,25,30,35,40,4,50,55 * * * * commandsolaris下的crontab和linux下不一样,linux支持*/5 表示每5分钟一次*/20 表示每20分钟一次而solaris不支持一般是执行crontab -e <username>,然后在里面填内容,可以man crontab获得帮助根用户的 crontab 文件放在 /var/spool/crontab/root 中,其格式如下:(1) (2) (3) (4) (5) (6)0 0 * * 3 /usr/bin/updatedb1. 分钟 (0-60)2. 小时 (0-23)3. 日 (1-31)4. 月 (1-12)5. 星期 (1-7)6. 所要运行的程序-----------------------------------------------------------------------------------定时执行crontab使用方法详解使用方式:crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }说明:crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。

-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。

如果不使用 -u user 的话,就是表示设定自己的时程表。

参数:-e:执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)-r:删除目前的时程表-l:列出目前的时程表时程表的格式如下: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 的方式来设定时程表。

例子:每月每天每小时的第 0 分钟执行一次 /bin/ls:0 7 * * * /bin/ls在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup:0 6-12/3 * 12 * /usr/bin/backup周一到周五每天下午 5:00 寄一封信给 alex@:0 17 * * 1-5 mail -s \"hi\" alex@ < /tmp/maildata每月每天的午夜 0 点 20 分, 2 点 20 分, 4点 20 分....执行 echo \"haha\"20 0-23/2 * * * echo \"haha\"注意:当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可。

AIX cron job 测试任务1.进入目录:/var/spool/cron/crontabs2.找到对应的文件(以用户命名为主)3.添加定时任务。

4.运行crontab –用户名5.cron job 检查定时任务运行情况对应文件:etc/cronlog.conf/var/spool/cron/crontabs/var/adm/cron/log/var/spool/mail6.检查有关卷组vg的逻辑卷lv信息时,运行命令:#lsvg -l VGNAME1:crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:编辑任务 -l:显示任务信息 -r:删除定时执行任务信息2:crontab中处理的文件格式为分钟小时日期月星期执行的文件名 *代表所有条件 5 * * * * rem /home/oracle/execsql 代表每个小时的5分钟时执行/home/oracle/execsql文件crontab 命令用途提交、编辑、列出或除去 cron 作业。

语法crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v [UserName] | File ]描述Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:/usr/var/adm/cron/cron.deny:该文件中所列的用户不允许使用Crontab命令;/usr/var/adm/cron/cron.allow:该文件中所列的用户允许使用Crontab命令;Crontab命令的格式为:crontab –l|-v|-r|-e [username],其参数含义如表一:参数名称含义-l 显示用户的Crontab文件的内容-v 显示用户的Crontab文件的内容及其提交的时间,只适用于Compaq系列-r 从Crontab目录中删除用户的Crontab文件-e 编辑用户的Crontab文件用户所建立的Crontab文件存于/var/spool/cron/crontabs中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,格式如下:* * * * * <command>;其时间段的含义如表二:段含义取值范围第一段代表分钟 0—59第二段代表小时 0—23第三段代表日期 1—31第四段代表月份 1—12第五段代表星期几,0代表星期日 0—6例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’。

示例拷贝一个名为 mycronjobs 的文件,到 /var/admn/cron/crontabs 目录下,输入以下内容:crontab mycronjobs将时间以小时的形式把每个小时写到 console 中,输入:0 * * * * echo The hour is `date` 。

>/dev/console要在每个星期一、星期三和星期五的 6:30 a.m. 运行 calendar 命令,输入:30 6 * * 1,3,5 /usr/bin/calendar要在一年的每一天的 6:30 运行 calendar 命令,输入:30 6 * * * /usr/bin/calendar要在八月的每天午夜运行一个称为maintenance 的脚本,输入:0 0 * 8 * /u/harry/bin/maintenance为命令的标准输入定义文本,输入:0 16 * 12 5 /usr/sbin/wall%HAPPY HOLIDAY!%Remember to turn in your time card.在 %(百分号)之后定义 wall 命令的标准输入的文本:HAPPY HOLIDAY!Remember to turn in your time card.文件/var/adm/cron/FIFO 当新的作业的提交是由 crontab 或 at 命令完成时,一个发送消息到 cron 守护进程的命名管道。

/var/spool/cron/crontabs 指定 crontab 缓冲池区域。

/var/adm/cron/cron.allow 指定用户列表,这些用户被允许访问 crontab 命令。

/var/adm/cron/cron.deny 指定用户列表,这些用户不被允许访问 crontab 命令。

find / -name java -print 用来查找文件或目录,/表示从根开始找 -name java表示查找的名字是javaAIX上如何批量修改用户密码2006-08-22 17:20AIX 5.2和5.3都提供了chpasswd 这个命令,可以用来批量修改用户密码,这就为编写非交互式脚本提供了便利。

相关文档
最新文档