在lamp兄弟连的学习进程的过程中,曾经学习了关于crontab命令的使用,直到用自己的linux vps时才有机会实践。主要用于定时备份并且发送邮件等用途。
在比较完善的解释中,crontab理解如下:crontab命令常见于unix和类unix的操作系统之中,用户设置周期被执行的指令。该命令从标准输入设备读取指令,其存放于“crontab”文件夹中,以供之后读取和执行。通常情况下,crontab储存的指定被守护进程激活,crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业成为cron jobs。
由于我个人在yardvps下的xen型vps没有安装crontab,所以索性就整理了一下关于在CentOS系统下crontab的安装和使用。
安装过程如下:
- [root@CentOS ~]# yum install vixie-cron
- [root@CentOS ~]# yum install crontabs
在我个人的实际操作中,只执行了第一条命令,再实际执行第二条命令的时候,提示已经安装crontabs,个人认为是由于yum在安装第一个组件的同时以第二个为依赖安装了,当然仅仅是我个人意见,暂时先不做考证。
在这里进行说明一下:
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
使用说明:
1.关于启动
由于cron是linux的内置服务,但它有的时候并不是自动启动的。安装之后我们可以用以下的方法进行管理这个服务。
注意在这里我使用的绝对路径,如果你是root权限就不必加/sbin/直接执行即可。
- /sbin/service crond start //启动服务
- /sbin/service crond stop //关闭服务
- /sbin/service crond restart //重启服务
- /sbin/service crond reload //重新载入配置
- /sbin/service crond status //查看crontab的服务状态
- ntsysv //查看crontab服务是否已设置开机启动
- chkconfig –level 35 crond on //设置在centos系统中加入开机自动启动
2.关于使用:
语法格式为:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
说明:充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:Minute Hour Day Month DayOFWeek Command
主要参数:
- -e 编辑该用户的计时器设置。
- -l 列出该用户的计时器设置。
- -r 删除该用户的计时器设置。
- -u<用户名称> 指定要设定计时器的用户名称。
下面在crontab已经启动状态下我举个例子:
假设我在home文件夹下有一个Auto.sh脚本需要在每天凌晨4点半自动执行。我可以这样执行:crontab -e
此时出现输入界面,输入如下:
30 04 * * * /home/Auto.sh
然后按esc推出编辑模式,输入:wq进行保存退出。
此时可以通过如下命令查看设定成功
crontab -l
如果出现如上命令即为设置成功。
如果您想删除root的计时定时任务可以执行如下命令:
crontab -r root