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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值