每天一个Linux命令(44)crontab命令
crontab命令被用来提交和管理用户需要周期性执行的任务,与windows下的计划任务类似。
(1)用法:
用法: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(2)功能:
功能: 当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。
(3)选项参数:
1) -l 列出当前计时器的设置,查看定时运行的程序
2) -e 编辑该用户的计时器设置,设置计时器
3) -r 删除该用户的计时器设置
4) -u<用户名称> 指定要设定计时器的用户名称
(4)实例:(此命令用的不常,在此简要介绍)
1)每1分钟执行一次command
* * * * * command
2)每五分钟执行一次命令
*/ * * * * command
3)在每天的17:00执行这个命令
* * * command
4)在8:02,11:02,14:02,17:02,20:02 执行,在8点到20点的时间内,每三个小时执行一下命令
-/ * * * command
以后会讨论crondtab的几个用法:
*创建一个新的crontab文件:
1.进入 /var/spool/cron目录下(目录为空表明当前系统内没有任何Linux计划任务需要执行)
[root@localhost /]# cd /var/spool/cron
[root@localhost cron]# ll
总用量
*列出crontab文件:
2.用crontab自带的命令crontab -l 发现也是没有任何东西()
[root@localhost cron]# crontab -l
no crontab for root
*编辑crontab文件;
3.如果目录已经存在指定的文件(文件名为当前用户名),则crontab -e 命令编辑它,否则创建新的文件。cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次 /etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。
*/2 * * * * ls -l /home/sunjimeng/Documents > root.txt
* * * * * echo "I am MenAngel" > root.txt
*删除crontab文件;
恢复丢失的crontab文件;
(5)其他:
1.什么是Windows的计划任务?
在Windows中,系统有一项重要的“计划任务”功能,通过设置“计划任务”,你可以将每天或某一天的某个时间需要做的事拟成计划,到约定的时间,不管你在电脑上进行什么工作,系统都会提醒你或者启动你设定好的任务程序。
2.crontab的简介:
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
3.crontab文件:
crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。crontab文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。
4.Linux下的任务调度
Linux下的任务调度分为两类:系统任务调度和用户任务调度。
系统任务调度: 系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件:
[root@localhost /]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root # For details see man crontabs # Example of job definition:
# .---------------- minute ( - )
# | .------------- hour ( - )
# | | .---------- day of month ( - )
# | | | .------- month ( - ) OR jan,feb,mar,apr ...
# | | | | .---- day of week ( - ) (Sunday= or ) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
前三行是用来配置crond任务运行的环境变量。第一行SHELL变量指定了系统要使用哪个shell,这里是bash;第二行PATH变量指定了系统执行命令的路径;第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户。
*: 表示任何时刻
,: 表示分割
-:表示一个段,如第二端里: -,就表示1到5点
/n : 表示每个n的单位执行一次,如第二段里,*/, 就表示每隔1个小时执行一次命令。也可以写成1-/.
用户任务调度: 用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录中。其文件名与用户名一致。
[root@localhost /]# cd /var/spool/cron
[root@localhost cron]# ll
总用量
/etc/cron.deny 该文件中所列用户不允许使用crontab命令
/etc/cron.allow 该文件中所列用户允许使用crontab命令
/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名
5.crond服务
1)安装crontab:
yum install crontabs
服务操作说明:
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置
查看crontab服务状态: service crond status
[root@localhost sunjimeng]# service crond status
Redirecting to /bin/systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: active (running) since 五 -- :: PDT; weeks days ago
Main PID: (crond)
CGroup: /system.slice/crond.service
└─ /usr/sbin/crond -n 5月 :: localhost.localdomain systemd[]: Started Command Scheduler.
5月 :: localhost.localdomain crond[]: (CRON) INFO (RANDOM_DELAY...
5月 :: localhost.localdomain crond[]: (CRON) INFO (running with...
Hint: Some lines were ellipsized, use -l to show in full.
手动启动crontab服务: service crond start
[root@localhost sunjimeng]# service crond start
Redirecting to /bin/systemctl start crond.service
查看crontab服务是否已设置为开机启动,执行命令: ntsysv
[root@localhost sunjimeng]# ntsysv
输入上述命令后,centOS弹出下面的页面:

*加入开机自动启动: chkconfig –level 35 crond on(以后再介绍)
*要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start即可。
每天一个Linux命令(44)crontab命令的更多相关文章
- 每天一个linux命令(56)--crontab命令
上一节学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,Linux 系统则是由 cron(crond)这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
- Linux 设置定时任务crontab命令
1. crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...
- linux定时任务:crontab命令
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查 ...
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * ...
- Linux中的crontab命令用法
Crontab 在linux中,crontab的用来设置定期执行指定的命令,我们可以用它来指定一些需要重复的事情,Linux系统的用户只需将想要定期要执行的命令序列加到crontab文件中,操作系统即 ...
- Linux 定时任务调度(crontab命令)
crond 是Linux下用周期性的执行某种任务或者等待处理某些事件的一个守护进程,crond 进程会每分钟定期检查是否有要执行的任务,如果有要执行的任务则自动执行该任务 Linux 下的任务调度 系 ...
- linux常用命令:crontab 命令
前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
- linux命令:crontab命令(转)
一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...
- 转 linux任务调度之crontab命令
crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...
- Linux新手学堂 Crontab命令的语法
crontab 命令的用途就是:提交.编辑.列出或除去 cron 作业. 语法 crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v ...
随机推荐
- X264码率控制总结
ABR,CQP,CRF X264显式支持的一趟码率控制方法有:ABR, CQP, CRF. 缺省方法是CRF.这三种方式的优先级是ABR > CQP > CRF. if ( bitrate ...
- [已解决]window下Can't connect to MySQL server on 'localhost' (10061)与无法启动MYSQL服务”1067 进程意外终止”
查了一圈,发现都解决不了我的问题,查了 window 系统日志,提示缺少了某些文件,文件怎么丢的我也不知道,以下是解决办法. -- 我的 mysql 版本为 5.6.x 压缩包版本,我的 mysql ...
- 第一百八十五节,jQuery,Ajax 表单插件
jQuery,Ajax 表单插件 学习要点: 1.核心方法 2.option 参数 3.工具方法 传统的表单提交,需要多次跳转页面,极大的消耗资源也缺乏良好的用户体验.而这款 form.js 表单的 ...
- MyBatis实战——自动回复机器人
案例分析 基本功能 接收发送指令 根据指令自动回复对应内容 模块划分 回复内容维护 对话功能 回复内容列表 回复内容删除 MyBatis的下载和核心架构的搭建 下载地址:https://github. ...
- caffe使用自己的数据做分类
这里只举一个例子: Alexnet网络训练自己数据的过程 用AlexNet跑自己的数据 参考1:http://blog.csdn.net/gybheroin/article/details/54095 ...
- day15数据类型
一.浮点数 之前讲过的,有序 : 列表 元组 字符串 数字类 :int flost complex bool 散列累 :集合和字典 浮点数:--包含所有小数 和复数 复数:a +bj 实部和虚部 ...
- Apache Nifi 开发
Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会的开源项目.其设计目标是自己主动化系统间的数据流.基于其工作流式的编程理念.NiFi很易于使用,强大.可靠及高可配置. 两个 ...
- azure iothub create-device-identity样例报错: unable to find valid certification path ,及iothub-explorer Error: CERT_UNTRUSTED
https://docs.microsoft.com/zh-cn/azure/iot-hub/iot-hub-java-java-getstarted 在IDEA中执行上述的代码,会出现下面的报错信息 ...
- SQL之 Stuff和For xml path
示例 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA ...
- TestClass必须是public的
运行一个测试类遇到一下问题: namespace TestSample.Sample { [TestClass] class CynthiaTest { [Te ...