每天一个Linux命令—— crontab
一、简介
1、 Linux中有许多周期性执行的任务,这些任务由cron守护进程完成,因此cron这个系统服务是默认启动的。
2、Linux中调度任务分为两类:系统任务调度和用户任务调度,系统任务调度即系统周期性所要执行的工作。/etc/crontab文件是系统任务调度的配置文件。
3、用户任务调度就是用户要周期性执行的工作,可用crontab命令定制自己的计划任务,用户定义的计划任务都保存在/var/spool/cron目录中,文件名与用户名一致
4、用户任务调度使用者权限:
1)、/etc/cron.deny , 文件所列用户不允许使用crontab命令
2)、/etc/cron.allow , 文件所列用户允许使用crontab命令
3)、/var/spool/cron/ , 所有用户crontab文件存放的目录,文件名同用户名
二、crontab 定时任务命令详解
cat /etc/crontab
SHELL=/bin/bash #SHELL变量指定系统使用哪种shell,这里使用bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin #PATH变量指定系统执行命令的路径
MAILTO=root #MAILTO变量指定任务执行信息发送给谁
HOME=/ #HOME变量指定执行命令或脚本时使用的主目录
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
1、前5个字段为时间设置段,第6个字段是所需执行的命令段
minute hour day month week command
分钟 小时 日期 月份 星期几 要执行的命令或脚本
每个字段可使用的特殊字符代表意义:
* 表示所有可能的值,如day为*,则表示在满足其他字段制约的条件后每天都执行该命令或脚本;
, 可用逗号隔开的值指定一个列表范围
- 可以用整数之间的中杠表示整数范围
/ 用来指定时间的间隔,如"0-23/2"表示在0点~23点,每两小时执行一次,如hour字段"*/3"表示每3小时执行一次
2、crond服务
安装crond命令:yum install crontabs
服务操作命令:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //启动服务
查看开机启动服务:ntsysv
加入开机启动:chkconfig -level 35 crond on
3、crontab命令详解
crontab命令可以在指定时间执行指定的命令或者shell脚本。
crontab --help
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
-u user : 设定某个用户的crontab服务,如"-u root" 表示设定root用户的crontab服务
-e : 编辑某个用户的crontab文件,不使用-u指定则表示编辑当前用户的crontab文件,下同
-l : 显示某个用户的crontab文件内容
-r : 从/var/spool/cron/目录中删除某个用户的crontab文件
-i : 删除某用户的crontabz文件前提示用户
-s : selinux内容
4、举例:
每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
0 15 * * 1,3,5 shutdown -r +5
每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,55 3 5-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
每天一个Linux命令—— crontab的更多相关文章
- 每天一个linux命令目录
出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
- 每天一个linux命令-转载
每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令 ...
- [转]每天一个linux命令目录
[转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...
- 每天一个Linux命令 (转)
一. 文件目录操作命令: 1.每天一个linux命令(1):ls命令 2.每天一个linux命令(2):cd命令 3.每天一个linux命令(3):pwd命令 4.每天一个linux命令(4):mk ...
- 每天一个linux命令【转】
转自:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
- 每天一个linux命令(目录)
转:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天 ...
- 【转】每天一个linux命令目录
原文网址:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列 ...
- 64个命令,每天一个linux命令目录, shutdown,tee,rcp,
每天一个linux命令目录 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令.学习的主要参考资料为: 1.<鸟哥的linux私房菜> 2.htt ...
- 【转载】每天一个Linux命令
目 录 每天一个linux命令(1) : ls 命令 每天一个linux命令(2) : cd 命令 每天一个linux命令(3) : pwd 命令 每天一个linux命令(4) : mkdi ...
随机推荐
- xshell配色Solarized Dark
转自:xshell配色Solarized Dark [Solarized_Dark] text(bold)= magenta(bold)=6c71c4 text= white(bold)=fdf6e3 ...
- .NET Framework 4.7 安装
我们打开.NET Framework下载界面: https://www.microsoft.com/net/download/framework 这时你会发现,我们能下载的.NET Framework ...
- Nodejs核心模块
(1)全局对象 在浏览器JS中,通常window是全局对象,而nodejs中的全局对象是global,所有全局变量都是global对象的属性. 在nodejs中能够直接访问到的对象通常都是global ...
- redis多端口,多实例。
本屌的redis装载/usr/local/redis了 cp 一份配置 vim 配置文件 port 修改 bind 绑定ip,默认0.0.0.0所有用户允许访问. dbfilename cac ...
- .net之DateTime
Console.WriteLine(DateTime.Now.Year); Console.WriteLine(DateTime.Now.Month); Console.WriteLine(DateT ...
- log4j的Appenders配置
因为是刚开始使用log4j,很多配置方面的东西都不懂,记录下. 下面是我用STS(Spring Tool Suite)新建Spring MVC项目的时候,帮我自动生成的一个log4j.xml配置文件. ...
- Windows7 x64 编译Dlib库
最近用到Dlib库,需要先编译. 本文利用 cmake + Sublime Text 2 + MinGW实现编译. 1. 下载dlib源码[dlib18.17]http://pan.baidu.com ...
- 推荐免费的svn空间
可能大部分人跟我一样办公和其他环境的代码同步选择用github,但github免费用户的代码是公开的.如果想做商业项目,用免费的github账号就不合适了,这里推荐的免费svn是个不错的选择. 1.h ...
- hdu1711kmp
Given two sequences of numbers : a11, a22, ...... , aNN, and b11, b22, ...... , bMM (1 <= M <= ...
- 详解MySQL存储过程的“异常处理”
阅读目录:存储过程的异常处理 定义异常处理 单一异常处理程序 continue exit 多个异常处理程序 关于错误编号和SQLSTATE码 使用3个处理程序 忽略某一异常的处理 异常处理的命名 异常 ...