原文链接: http://yaksayoo.blog.51cto.com/510938/162062
Linux计划任务工具cron用法详解
linux下大名鼎鼎的计划任务工具crontab的使用介绍baidu、google上多得让人眼花缭乱,本着“天下文章一大抄”的觉悟,加上本人日常工作中总结的使用经验,索性推出这篇笔记式文章,以供遗忘时翻阅之用。
cron是linux系统下一个自动执行指定任务的程序,即包含“时间”、“路径”、“自动执行脚本”等要素,例如我想通过自动执行脚本
“newcopy.sh”在凌晨4点整将/usr/local/下的“new”目录复制到/home下的“superman”目录。
cron程序在安装系统后一般会自动随系统启动,无需每次人手启动,若无意中将其自启动取消了,可以通过ntsysv或chkconfig将其添加到系统自启动列表中,如下:
#ntsysv
在自启动列表中选中crond即可
![](http://yaksayoo.blog.51cto.com/attachment/200906/200906011243849435995.jpg)
一、cron服务介绍
cron把命令行保存在/etc/crontab文件里,每个系统用户如果设置了自己的cron,那都会在/var/spool/cron下面有对应用户
名的crontab。无论编写/var/spool/cron目录内的文件还是/etc/crontab文件,都能让cron准确无误地执行安排的任务,
区别是/var/spool/cron下各系统用户的crontab文件是对应用户级别
的的任务配置,而/var/crontab文件则是对应系统级别
的任务配置。cron服务器每分钟读取一次
/var/crontab/cron目录内的所有文件和/etc/crontab文件。
二、使用cron服务执行计划任务
#service crond start/restart/stop
启动/重启/关闭cron服务
#crontab -l
浏览当前用户的crontab,即浏览已存在的计划任务列表
#crontab -e
编辑当前用户crontab,如之前从未编辑过crontab文件,那么crontab是一个空白文件,我们可以完全手工编写我们所需要的计划任务列表,下面详细介绍计划任务列表的写法。
以下是几个例子:
1)9 9 * * * /usr/local/bin/cvsb
2)3 3 * * 0 /usr/local/bin/qbbak
3)* */6 * * * /usr/local/bin/esbbak
4)20,30 * * * /usr/local/bin/esbak
5)* 23 * * 2-5 /usr/local/bin/esbbak
六个字段对应的含义如下:
9 9 * * *
分钟 小时 日期 月份 星期
1)表示每天早上9点9分执行目录/usr/local/bin/中的cvsb文件
2)表示每周日凌晨3时3分执行目录/usr/local/bin中的qbbak文件
3)表示每6小时执行一次,执行时间从第一次执行起计算,当然也可以自定义执行时间,比如0 */6 * * *那程序就会在整点执行
4)表示在每小时20分和30分时执行
5)表示在星期二到星期五每天的23点执行
上面简单介绍了cron的一些基本用法,这个东东的时间组合可不是一般的强~可以复杂到你无法想象,我们只要掌握少许基本就可以满足日常需求了。
三、cron进阶使用
1.避免cron产生垃圾文件
细
心的朋友可能会发现系统/var/spool/clientmqueue/目录下往往存有大量文件,原因是系统中有用户开启了cron,而cron中执行
的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail(系统自带的邮件服务器)没有启动所以就产生了这些文件。
这时可以使用输出重定向,即在计划任务后加上> /dev/null 2>&1
例:
9 9 * * * /usr/local/bin/cvsb > /dev/null 2>&1
2>&1:把错误重定向到输出要送到的地方。
把命令的执行结果重定向到/dev/null,即把产生的错误抛弃。
2.一种经常碰到的情况,需要执行的文件没问题,但通过cron就是死活不能正确执行,这时我们可以通过输出重定向将cron的执行过程输出到一个文件,通过分析执行过程来寻找错误的原因
例:
9 9 * * * /usr/local/bin/cvsb > /var/log/crontab_log 2>&1
上例将cron的执行过程输出到一个文本文件crontab_log,这个文件可以随便手动建一个,放在哪都行,重定向目录写对就Ok。
分享到:
相关推荐
### Linux计划任务Cron详解及应用 #### 一、Cron简介 Cron是Linux系统中用于调度周期性任务的守护进程(Daemon),允许用户在固定时间或周期性地执行命令或脚本。通过Cron,用户可以设定复杂的定时任务,如定期...
### Linux任务计划Cron文档使用详解 #### 一、Cron简介与基本操作 Cron是Linux系统中用于执行周期性任务的一种守护进程。通过Cron可以方便地安排任务自动在指定时间运行,大大提高了系统的自动化程度。Cron支持多种...
Cron是Linux中最常用的计划任务工具之一,它通过读取一系列配置文件来确定何时执行哪些任务。以下是一些与Cron服务相关的命令: - **启动Cron服务**: - `/sbin/service crond start`:启动Cron服务。 - **停止...
在Linux系统中,`cron`计划任务是一种自动化执行任务的强大工具,它允许用户或系统管理员在特定的时间点或按照预设的时间间隔运行命令或脚本。这篇文章将深入讲解如何在Linux中配置和使用`cron`服务。 首先,`cron`...
Linux 计划任务详解 Linux 计划任务是指在 Linux 系统中,根据预设的时间和条件执行特定的任务或命令的机制。这种机制可以让用户在不需要人工干预的情况下运行作业,提高工作效率和自动化程度。 cron 服务是 ...
在Linux系统中,PHP执行定时任务通常不依赖于PHP自身的机制,...此外,还可以参考相关文章了解更多关于Linux定时任务的配置和使用技巧,如Linux下使用`cron`定时执行PHP任务的方法,以及对`cron`的详细配置和用法说明。
【Linux 下定时任务使用详解】 Linux 系统中的定时任务主要通过 `cron` 服务来实现,它允许用户和系统管理员设置周期性被执行的任务。`cron` 是 Linux 的一个核心组件,但不会自动启动,需要手动操作或设置为开机...
### Linux Cron工作原理详解 #### 一、Cron简介与工作原理 Cron是Linux操作系统中的一项重要功能,主要用于执行周期性的任务或计划任务。它能够根据预设的时间间隔自动运行用户定义的任务脚本,无需用户手动干预。...
在 Linux 系统中,`cron` 是一个非常强大的工具,用于自动化执行定时任务。它可以在固定时间或间隔执行各种脚本和命令,使得系统管理员可以轻松地安排各种维护任务、备份操作以及其他需要定期执行的任务。 #### 二...
CRON表达式是一种用于在Unix和Linux系统以及许多其他支持它的平台上设置定时任务的强大工具。它基于一组预定义的规则,用字符串的形式来表达时间的周期性安排。这个表达式通常由五个或六个字段组成,有时甚至包括一...
- **周期性任务**:对于需要定期执行的任务,例如每小时、每天或每周执行的命令,则应该使用`crontab`命令来创建和管理计划任务。 ##### 2.3 crontab命令的选项 `crontab`命令提供了一系列选项,用于管理和操作...
cron表达式是用于定义定时任务执行时间的一种格式,广泛应用于Linux系统中的计划任务。本文将深入解读cron表达式的各个组成部分及其使用方法。 #### cron表达式的基本结构 一个完整的cron表达式由六个或七个字段...
cron是Unix/Linux系统中的一个时间计划任务工具,而在Java开发环境中,我们通常使用类似的定时任务框架,例如Quartz。cron表达式是一种字符串格式,用于定义周期性的任务执行时间,它由六个或七个子字段组成,分别...
Cron 命令详解 Cron 命令是 Linux 系统下的一个自动执行指定任务的程序,它来自希腊单词 chronos,意为“时间”。Cron 命令允许用户在特定的时间间隔执行某些命令,例如在每晚睡觉期间创建某些文件或文件夹的备份...
### Linux 下定时执行计划任务详解 #### 一、概述 在 Linux 操作系统中,定时执行计划任务是一项非常实用的功能,它可以自动地按照预设的时间周期执行特定的任务或脚本,比如定期备份数据、定时清理日志文件等。...
本文将详细介绍如何利用Linux下的`find`命令配合计划任务(Cron Job)实现自动删除n天前的旧文件。 #### 一、基本概念 1. **`find`命令**: - `find`是Linux系统中非常强大的文件查找工具,它可以基于多种条件来...
Linux Crontab 定时任务 命令详解 Linux Crontab 是一个强大的定时任务命令,用于在指定的时间间隔执行特定的命令或程序。Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。...
### Linux CentOS 7 下用户定时任务详解 #### 一、定时任务基础知识 在 Linux 系统中,定时任务是极其重要的功能之一,它允许用户在指定的时间自动执行一系列任务,如备份数据、清理日志等。Linux 提供了多种方式...