引用
在使用linux系统开发时,不免要使用系统中的一些功能。比如程序的定时运行,系统定时做某些事情。而我在做java开发中,常使用系统中crontab类定时运行程序,虽然java中也有相关的实现,但是我个人认为还是系统的好用,因为在日志方面,程序管理方面更好。
在命令行中输入 crontab -e
就可以配置 cron 了。
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 OS
30 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》
这里有c r o n t a b文件条目的一些例子:
30 21 * * * /apps/bin/cleanup.sh
上面的例子表示每晚的21:3 0运行/a p p s/b i n目录下的cleanup.sh。
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、1 0、2 2日的4 : 4 5运行/ a p p s / b i n目录下的b a c k u p . s h。
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。
0,30 18-23 * * * /apps/bin/dbcheck.sh
上面的例子表示在每天1 8 : 0 0至2 3 : 0 0之间每隔3 0分钟运行/ a p p s / b i n目录下的d b c h e c k . s h。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11 : 0 0 p m运行/ a p p s / b i n目录下的q t r e n d . s h。
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。
重启cron服务是:/etc/init.d# ./cron restart
分享到:
相关推荐
Linux Crontab 使用详解 Crontab 是 Linux 系统中一个非常重要的工具,它允许用户在固定时间或固定间隔执行程序。Crontab 命令的基本格式为:crontab [-u user] [-l|-r|-e],其中 -u user 是指设定指定用户的时程表...
### crontab命令详解 #### 一、引言 `crontab` 是 Linux 和 Unix 系统中用于定时执行任务的重要工具。通过 `crontab`,用户可以在指定的时间间隔内自动执行脚本或者命令,这对于自动化运维、数据备份等场景非常...
#### 二、crontab详解 ##### 2.1 crontab文件的访问权限 在一些共享的系统环境中,通常只有一个crontab文件,而这个文件仅限于管理员访问。因此,普通用户如果想要配置自己的cron任务,可能需要通过管理员的帮助来...
crontab 用法详解 crontab 是 UNIX、LINUX 系统中的一个定时执行工具,可以用来执行指定的 shell 命令或脚本。下面详细介绍 crontab 的使用方法和参数。 crontab 的基本用法 crontab 的基本用法包括编辑、显示和...
### Crontab 使用详解 #### 一、Crontab 命令介绍 Crontab 是 Linux 和 Unix 系统中用于安排周期性任务的一种工具。通过 crontab 用户可以轻松地设定定时任务,比如自动备份数据库、定期清理日志文件等。 ##### ...
在实际操作中,使用crontab前用户需要了解系统的crontab配置文件放置在哪个目录,这可以通过执行`crontab -c`查看指定的目录。此外,crontab中运行的程序会被送到shell执行,该shell仅具有三个环境变量:USER, HOME,...
Linux命令之 crontab 用法详解。
### Crontab命令详解 #### 一、Crontab简介 `crontab`命令是Linux和类UNIX系统中用于定时执行任务的强大工具。通过`crontab`,用户可以在预设的时间间隔内自动执行一系列命令。这为系统管理、自动化备份和其他周期...
linux Crontab 用法的详细介绍,
crontab 格式详解 crontab 是 Linux 中的一个命令,用于让用户在固定时间或固定间隔执行程序。crontab 文件的格式为:M H D m d cmd,其中 M 代表分钟(0-59),H 代表小时(0-23),D 代表天(1-31),m 代表月(1...
【Solaris系统中的crontab使用详解】 在Solaris操作系统中,`crontab`是一个用于设置定时任务的工具,类似于Linux系统中的功能。然而,由于Solaris与Linux在某些命令和参数上存在差异,因此在使用`crontab`时需要...
【Solaris系统中的crontab使用详解】 在Solaris操作系统中,`crontab`命令用于设置和管理用户的定时任务,这些任务会在指定的时间自动执行。然而,与Linux或FreeBSD系统中的`crontab`命令相比,Solaris版本有一些...
Linux Crontab 定时任务 命令详解 Linux Crontab 是一个强大的定时任务命令,用于在指定的时间间隔执行特定的命令或程序。Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。...
为了控制用户是否可以使用`crontab`,系统提供了`/etc/cron.deny`和`/etc/cron.allow`两个文件。如果`cron.deny`文件中包含了用户,那么该用户将被禁止使用`crontab`;反之,如果`cron.allow`文件中包含了用户,那么...
### Linux Crontab 详解 #### 一、Cron与Crontab简介 在Linux系统中,`cron` 是一个后台服务程序(daemon),用于调度周期性任务。它按照预定的时间间隔执行用户定义的任务,例如运行脚本或执行命令等。`crontab` ...
### Crontab定时执行工具详解 #### 一、Crontab简介 `cron`是Linux系统中一个重要的后台服务程序,用于实现定时任务的自动化执行。通过`cron`,用户可以方便地设置周期性的任务,比如定时备份数据、清理日志文件等...
对于用户权限管理,可以通过`/etc/cron.deny`和`/etc/cron.allow`文件来限制哪些用户可以使用`crontab`命令。 `crontab`文件的格式包含六个字段:分钟(minute)、小时(hour)、日期(day)、月份(month)、星期...
linux下计划任务crontab的参数详细说明和实例参考,谢谢