linux记录crontab任务,linux计划任务crontab

13.1 例行性命令概述例行性命令相当于windows中的计划任务,是按照固定的规律与时间执行一些常规的操作,比如定时关闭服务器与发送电子邮件,并且是在后台进行操作。13.1.1 例行性命令的种类1. at    仅执行一次的,主要做一些突发的事件。2. cron  工作将持续做下去,周期性的事件。13.1.2 常见的例行性命令1. 登陆日志的数据轮换。2. rpm数据库的建立。3. 建立locate数据库。4. 程序分析。5. 检查登录文件。6. 指纹数据库的比较,分析最近更改过的内容。

13.2 用户at一次性任务分配13.2.1 at服务启动at服务默认不打开at服务,需要手动打开。chkconfig --level 35 atd on     打开at服务并开机自启动/etc/init.d/atd startservice atp restart13.2.2 at工作原理at的工作记录文件在/var/spool/at目录下面,并且以用户名来区分是属于哪个用户的文件,例如:redhat用户就在/var/spool/at/redhat下面。系统默认所有用户都可以使用at,如果不想让谁使用,可以找到以下文件/etc/at.allow与/etc/at.deny,进行相关编辑。一般情况下:先找allow,写在里面的用户才能用at,或deny里面没有的用户才能使用at。如果没有这两个文件的话,只有root用户才能使用。FC5只有at.deny且里面为空,所以所有用户都可以使用at,具体系统应根据相关的情况进行确认。13.2.3 at任务分配at -m time-m   任务完成后以电子邮件形式通知用户示例:at 15:20 2009-1-20

at> /bin/syncat> /bin/syncat> /sbin/shutdown -r now         命令最好使用绝对路径at>           ctrl+djob 1 at 2009-01-20 15:20

13.2.4 at任务管理示例:atq  查询有多少at工作任务。2       2009-01-20 17:00 a root

atrm 2   删除刚才创建的工作任务。

13.3 用户cron周期性任务分配13.3.1 cron服务启动cron服务默认是开启的。chkconfig --list |grep crond     查年crond服务的启动情况/etc/init.d/crond startservice crond restart13.3.2 cron工作原理cron的工作记录文件在/var/spool/cron目录下面,并且以用户名来区分是属于哪个用户的文件,例如:redhat用户就在/var/spool/cron/redhat下面。与at一样。/etc/cron.allow/etc/cron.denyfc5只有cron.deny不要直接编辑/var/spool/cron/redhat配置文件。Cron的每一项任务的执行都会在/var/log/cron日志中有记录。13.3.3 cron任务分配crontab  命令是用户用于建立计划任务的命令是/usr/bin/crontab-u       root用户帮助其它用户建立-e       编辑crontab内容-l       查年crontab内容-r       删除crontab内容crontab文件中参数格式:分  时  日  月  周   命令串时间参数意义:*   代表任意时间。,  代表分隔如出2,3表示2,3都行。-   表示一段时间范围内。2-4表示234/n  表示每隔单位时间。命令串:要加入绝对路径,否则不能成功。参数示例:59 23 1 5 *  5月1日23:5930 16 * * 5  星期五的16:30*/5 * * * *  每五分钟执行一次

示例:crontab -e 0  12  *  *  *  /sbin/shutdown -r  表示任何月日的12点都执行重启

13.3.4 cron任务管理示例:crontab -l   查看crontab内容

# DO NOT EDIT THIS FILE - edit the master and reinstall.# (/tmp/crontab.1820 installed on Tue Jan 20 16:16:34 2009)# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)0  12  *  *  *  shutdown -r

crontab -r   全部删除crontab中的内容

13.4 系统周期性任务分配13.4.1 系统cron服务启动用户与系统cron服务都是/etc/init.d/crond crontab -e 是针对用户来进行计划性任务来进行分配的。对于系统计划任务只需要编辑/etc/crontab配置文件就可以了,可以用root用户进行编辑。通常cron服务最低检测限制是分钟,所以cron每分钟去读取一次/etc/crontab 以及/var/spool/cron目录中的内容进行执行。

13.4.2 系统cron服务配置cat /etc/crontab

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/

# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly

查看配置文件后,我们可以看到,其中也可以再加入其它任务性命令,只不是加入在哪个文件中,结合上面的用户cron命令的使用,我们可以根据需要进行灵活的使用。

0 */1 * * *  每小时执行一次

crontab中命令行中的百分号(%)需要做转义

在cron文件的第六列,也就是命令列

百分号(%)被赋予了特殊含义

被看做是换行符,而且,其后面的内容被当做命令的标准输入

所以,要想正常使用百分号(%)的功能

需要在其前面添加转义符(\)

安装cron

一、安装

[root@CentOS ~]# yum -y install vixie-cron

[root@CentOS ~]# yum -y install crontabs

说明:

vixie-cron 软件包是 cron 的主程序;

crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

二、配置

cron 是 linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

service crond start     //启动服务

service crond stop      //关闭服务

service crond restart   //重启服务

service crond reload    //重新载入配置

service crond status    //查看crontab服务状态

在CentOS系统中加入开机自动启动: chkconfig --level 345 crond on

cron 的主配置文件是 /etc/crontab,它包括下面几行:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

前四行是用来配置 cron 任务运行环境的变量。

SHELL 变量的值告诉系统要使用哪个 shell 环境(在这个例子里是 bash shell);

PATH 变量定义用来执行命令的路径。

cron 任务的输出被邮寄给 MAILTO 变量定义的用户名。

如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出。

HOME 变量可以用来设置在执行命令或脚本时使用的主目录。

限制对 cron 的使用:

/etc/cron.allow和 /etc/cron.deny 文件被用来限制对 cron 的使用。

这两个使用控制文件的格式都是每行一个用户www.linuxidc.com。

两个文件都不允许空格。

如果使用控制文件被修改了,cron 守护进程(crond)不必被重启。

使用控制文件在每次用户添加或删除一项 cron 任务时都会被读取。

无论使用控制文件中的规定如何,root 都总是可以使用 cron。

如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。

如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值