
- 使用环境
- Linux
- 类 属
- 程序指令
- 应用学科
- 计算机
- 所属领域
- 计算机
- 中文名
- crontab
-
crontab
2015-07-25 20:29:47crontabcrond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux下的任务调度分为两类,系统任务调度和用户任务调度。
crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。
1 crontab命令基本格式
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令2 crontab命令的路径
在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
/etc/crontab文件包括下面几行:
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""HOME=/
# run-parts
51 * * * * root run-parts /etc/cron.hourly
24 7 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
[root@localhost ~]#
前四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。第六至九行表示的含义将在下个小节详细讲述。这里不在多说。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。
3 crontab权限控制
每个用户都会生成一个自动生成一个自己的crontab文件,控制文件权限的文件有3个,如下:
/etc/cron.deny 说明:该文件中所列用户不允许使用crontab命令
/etc/cron.allow 说明:该文件中所列用户允许使用crontab命令
/var/spool/cron/ 说明:所有用户crontab文件存放的目录,以用户名命名
4 crontan命令使用详解
格式:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
参数说明:
-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
5 实例3,15 8-11 * * * command
-
Crontab
2019-10-03 20:56:18crontab -e 编辑crontab服务文件 crontab -l 查看文件内容 cat /etc/crontab 查看配置文件内容 模板: */10 * * * * /home/amber/issue/yare-server/bin/yaclrd >> /home/log/yaclrd.log 2>&1 ...crontab -e 编辑crontab服务文件
crontab -l 查看文件内容
cat /etc/crontab 查看配置文件内容
模板:
*/10 * * * * /home/amber/issue/yare-server/bin/yaclrd >> /home/log/yaclrd.log 2>&1
解析:执行脚本并将log记录在指定位置
本地虚机:
/root/environment/bomm/bin/python2.7 /home/amber/xxx/xxx/backend/utils/snmp/UploadNetInfoValidate.py >> /home/log/valid_nexthop.log 2>&1
安装成功:
crontab: installing new crontab
出错:如果报错bad minute代表格式不对,需要放在nodepad里查看空格
-
CRONTAB
2018-02-08 18:32:21不错的资料: ... 是什么? ...安装检查CRONTAB服务 检查工具是否安装 crontab -l 检查服务是否启动 service crond status 安装cron - yum install vixie-cron - yum instal...不错的资料:
http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
是什么?
安装检查CRONTAB服务
- 检查工具是否安装 crontab -l
- 检查服务是否启动 service crond status
安装cron
- yum install vixie-cron
- yum install crontabs小实例
service crond status #查看服务是否启动 service crond start #如没有启动服务,启动服务 crontab -l #查看当前定时任务列表 crontab -e #打开定时任务列表文件,进行编辑 */1 * * * * date >> /tmp/log.txt #在最后一行插入内容,保存退出 tail -f /tmp/log.txt #监听log.txt文件内容
基本组成
配置方式
常用配置:
分用户创建定时任务
crontab -l 当前登录用户的定时任务列表
crontab -e 打开定时任务列表,编辑useradd crontester -> 添加一个 用户
crontab -e -u crontester -> 打开指定用户的任务列表,编辑
crontab -l -u crontester -> 打开指定用户的定时任务列表tail -f /var/log/cron 查看定时任务日志
Crontab配置文件
全局配置文件
- /etc/crontab
- 注意格式vi /etc/crontab
-
crontab每小时运行一次
2018-06-12 17:38:35先给出crontab的语法格式对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错误的!比如对于下面的这种写法:00 * * * * #每隔一小时执行一次 00 */1 * * * #与上面是相同的任务这种是正确的吗?对照最前面...
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
139网站可用性测试报告.pdf
-
【考研初试】安徽建筑大学501建筑设计考研真题库资料
-
2021年 系统分析师 系列课
-
C++新特性 unique_ptr的使用
-
经验全藏在这三句话里
-
Windows系统管理
-
linux老男孩 基础部分章节02-----虚拟软件使用(环境准备)/远程连接
-
抖音任务点赞平台源码.zip
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
微信HOOK-微信逆向-微信公众号爬虫系统
-
VScode初学者代码运行
-
vue3从0到1-超详细
-
svg_pnf_Selector-源码
-
删除本地镜像(5)
-
B站上这个“PX4视觉和Offboard控制接口 | 由Auterion计算机视觉工程师Martina Rivizzigno讲解 | PX4开发者峰会2019”视频看看
-
apache-jmeter-3.1.7z
-
MMM 集群部署实现 MySQL 高可用和读写分离
-
MySQL Router 实现高可用、负载均衡、读写分离
-
web前端面试(如何优化项目)