- 浏览: 147145 次
- 性别:
- 来自: 北京
-
最新评论
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/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这个服务已经在进程里面了,我们就可以用这个服务了,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服务。
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"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
--------------------------------------
基本格式
:
* * * * * 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重启lighttpd 。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 :
10重启lighttpd 。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启lighttpd 。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启lighttpd
发表评论
-
shellinabox遠端終端機
2013-03-07 16:52 2545介紹 Shellinabox 是一個利用 Ajax 技術構 ... -
VPN架設與單網卡共享上網
2011-09-27 22:54 0這個要在下週前完成,相對於hadoop的寫法要更簡單些。 -
Hadoop部署(含HDFS,MapReduce,Hive ,HBase)
2011-09-22 17:54 01 寫在前面的話 互聯網某兄 写道: 如 ... -
HDFS+MapReduce+Hive+HBase搭建
2011-08-13 08:42 0安裝步驟按一下: -
关于在RHEL5下VPN搭建出现619错误的解决办法(原创)
2010-11-20 09:49 1991文章來源於 sina 煙鬼博客 寫於 2009-04-28 ... -
Linux下批量新建用户(原创)
2010-11-20 09:45 2843文章來源於 sina 煙鬼博客 寫於 2009-05-02 ... -
linux下top命令参数解释
2010-08-15 21:54 1236top命令是Linux下常用的性能分析工具,能够实时显示系统中 ... -
redhat enterprise linux 5.4 安装 Mplayer (转)
2010-08-08 11:04 25751.下载相关codes ( http://www.mpla ... -
在rhel4(REDHAT Enterprise 4)上开启xmanager(转)
2010-07-27 12:13 2224第一步 In /etc/X11/fs/c ... -
Ubuntu8.04 Networkmanager 找不到VPN(轉)
2010-07-11 13:50 1564Ubuntu 下的Networkmanager可以轻松建立基于 ... -
screen
2010-06-03 21:56 1010什么是 screen 嗯 ... -
Expect 手册中文版_2
2010-05-30 21:26 2347From 漏洞本来是要把这个程序命名为”sex” ... -
Expect 手册中文版_1
2010-05-30 21:21 7208From 本文由gunman翻译, ... -
umask 是什么 (修訂版)
2010-05-17 11:18 1448由於原來發布的有些錯 ... -
RHCE考试Troubleshooting中,linux 系统不能开机或可能出现的错误情况 (转)
2010-03-19 11:59 1461RHCE考试Troubleshooting中,linux ... -
Webalizer 日志分析的搭建
2010-03-18 11:04 7747服务器: LINUX as 5 (redhat Lin ... -
linux 錯誤 java.net.UnknownHostException:www.chenpeng.org: www.chenpeng.org (已解决)
2009-12-10 23:48 3163在Linux下開發java,每當關閉伺服器的時候,總會時候出現 ... -
Linux 安装*src.rpm的时候出现错误
2009-12-07 13:29 14521Linux 安装*src.rpm的时候出现: ... -
linux 雙網卡共享上網nat方式
2009-12-06 10:51 1968OS:REDHAT ENTERPRISE LINUX 5 ... -
redhat linux rhel 5 改物理地址的方法
2009-12-06 10:26 15101.首先要把改物理地址的網卡 down掉 (eg:eth0) ...
相关推荐
Linux中的Crontab是一个强大的定时任务管理工具,用于在特定的时间点执行预定的任务。它允许系统管理员或普通用户安排各种周期性的任务,如备份、清理日志、数据同步等。以下是对Crontab的详细解释: 1. **Crontab...
### crontab命令详解 #### 一、引言 `crontab` 是 Linux 和 Unix 系统中用于定时执行任务的重要工具。通过 `crontab`,用户可以在指定的时间间隔内自动执行脚本或者命令,这对于自动化运维、数据备份等场景非常...
这个示例中,每个小时的 5 分钟时执行 `/home/oracle/execsql` 文件。 crontab 中的环境变量 在使用 crontab 时,需要特别注意环境变量的问题。例如,在执行 Oracle 的 sqlplus 命令时,需要设置相关的环境变量。...
#### 二、crontab详解 ##### 2.1 crontab文件的访问权限 在一些共享的系统环境中,通常只有一个crontab文件,而这个文件仅限于管理员访问。因此,普通用户如果想要配置自己的cron任务,可能需要通过管理员的帮助来...
### Linux定时任务Crontab详解 #### 一、Crontab简介 在Linux系统中,Cron服务是一种用于计划执行任务的工具。它允许用户设置周期性运行的任务,例如自动备份数据、定时发送邮件等。Cron服务的核心是`crontab`命令...
### Crontab命令详解 #### 一、Crontab简介 `crontab`命令是Linux和类UNIX系统中用于定时执行任务的强大工具。通过`crontab`,用户可以在预设的时间间隔内自动执行一系列命令。这为系统管理、自动化备份和其他周期...
【Crontab命令详解】 Crontab命令是Linux操作系统中用于管理定时任务的重要工具,它允许用户设置周期性被执行的任务。这些任务可以是系统维护、数据备份或是其他自动化任务。Crontab命令提供了方便的方式来创建、...
### Crontab定时执行工具详解 #### 一、Crontab简介 `cron`是Linux系统中一个重要的后台服务程序,用于实现定时任务的自动化执行。通过`cron`,用户可以方便地设置周期性的任务,比如定时备份数据、清理日志文件等...
`crontab` 是 Linux 和 Unix-like 操作系统中一个非常重要的工具,用于设置周期性执行的任务。通过编写 crontab 文件(cron job),用户可以指定某个脚本或命令在特定的时间点自动运行。 #### 二、crontab命令格式 ...
### Linux crontab定时任务配置方法详解 #### CRONTAB概念与介绍 `crontab`是Linux系统中一种非常重要的工具,它主要用于计划周期性的任务执行。通过使用`crontab`,用户可以在特定的时间点自动执行指定的命令或者...
### Linux Crontab 用法详解 Crontab是Linux系统中用于自动化执行任务的强大工具,它允许用户根据预设的时间表安排系统任务的执行。本文将深入解析Crontab的使用方法,涵盖其基本概念、语法结构以及高级功能。 ###...
【Linux crontab定时触发命令详解】 Linux系统中的crontab命令是一个强大的定时任务调度工具,用于设置周期性被执行的任务。通过crontab,我们可以设定特定时间执行指定的命令或者脚本,以实现自动化维护和管理。...
【Linux定时执行程序Crontab详解】 Crontab是Linux系统中用于定期执行任务的工具,它允许用户设置一系列的定时规则来执行特定的命令或脚本。在上述场景中,你需要在客户服务器上配置定时任务,例如每周一至周六晚上...
Crontab是Linux系统中的一个重要的工具,用于管理周期性执行的任务。通过Crontab,用户可以轻松地安排脚本或命令在特定时间自动执行,无需手动干预。 #### 二、Crontab的基本格式 Crontab的基本格式由六个字段组成...
在Linux系统中,Shell编程是系统管理员和开发者日常工作中...在压缩包中的“awk详解.txt”、“sed详解.txt”和“crontab定时器.txt”文件中,你将找到更深入的解释和实例,帮助你进一步理解和使用这些强大的Shell工具。
### 脚本自动添加crontab示例详解 在Linux系统中,Crontab(cron table)是一种用于设置周期性执行任务的工具。通过编辑crontab文件,用户可以轻松地安排各种脚本或命令在指定的时间点自动运行。本文将详细介绍一个...
总的来说,理解和掌握`crontab`的使用是Linux系统管理员日常工作中不可或缺的一部分,它能自动化许多重复性的维护任务,提高工作效率。在使用时,需要注意权限管理、任务语法和日志监控,确保任务正确无误地执行。
- `crontab`是Linux系统中的一个守护进程(daemon),用于执行计划任务。 - 用户可以使用`crontab`命令来创建、编辑或删除计划任务。 2. **Crontab配置文件**: - 每个用户都有自己的`crontab`文件,通常存储在`...
【Unix C语言crontab、makefile资料】 ...通过学习和掌握crontab和makefile,开发者能够更高效地管理和自动化Unix/Linux环境中的任务,提高工作效率。同时,对于C语言的理解也是提升Unix系统编程能力的基础。