网站首页 > java教程 正文
crontab命令是被用来提交和管理用户的需要周期性执行的任务,与Windows下的计划任务类似,系统安装完成后,默认安装此服务,并且会自启动crond进程,每分钟定期检查要执行的任务。
**一、语法**
crontab 选项 参数(指要执行任务的crontab文件)
-e 编辑该用户的计时器设置
-l 列出该用户的计时器设置
-r 删除该用户的计时器设置
-u 用户名称 指定要设定计时器的用户名称
crontab文件含义(六段):分 时 日 月 周 [要执行的命令]

星号* 代表所有可能的值
逗号, 指定一个列表范围
中杠- 指定一个整数范围
正斜线/ 指定时间的间隔频率
crontab -e 编辑该用户的定时任务或者使用vim /var/spool/cron/root编辑该用户的定时任务

crontab -l 查看定时任务

crontab -r 删除所有定时任务

二、**cron****d****服务**
crond是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行 作业。
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
ntsysv //查看是否设置为开机自启动
chkconfig -level 35 crond on //加入开机自启动
三、**任务调度**
** Linux下的任务调度分为两类**:系统任务调度和用户任务调度。
** 系统任务调度**:系统周期性所要执行的工作,比如写缓存数据到硬盘,存放在/etc目录下的crontab文件中。
** 用户任务调度:**用户定期要执行的工作,比如用户数据备份、定时邮件提醒,存放在/var/spool/cron目录中,其文件名与用户名一致。
** 使用者权限文件如下:**
** /etc/cron.deny 该文件中所列用户不允许使用**

<figcaption style="box-sizing: border-box; color: rgb(85, 93, 102); display: block; font-size: 13px; margin-bottom: 13px; margin-top: 6.5px; text-align: center;">
</figcaption>
** /etc/cron.allow 该文件中所列用户允许使用crontab命令**
** /var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名**
**四、案例解析**
** 1、每分钟向/root/test/test.log文件打印输出日期**
*/1 * * * * echo `date` >>/root/test/test.log
** 2、每分钟执行一个shell脚本(规范写法:先在shell文件里编写需要执行的命令)**
*/1 * * * * /bin/sh
/root/server/scripts/tar.sh >/dev/null 2>&1
3、**每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件的形式发送给当前系统用户,久而久之文件会变得很大,可能会影响系统的正常运行。**

/dev/null 2>&1”表示先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,
因此标准错误也会重定向到/dev/null,这样日志输出问题就解决了。
### **四:企业生产场景如何调试****crontab定时任务**
(1)增加执行任务频率调试任务(某些任务不能用于生产环境,没有测试机会)
代码发布:个人开发环境 — 办公测试环境 — IDC机房测试环境 — IDC正式环境(分组,灰度发布)
(2)调整系统时间调试任务(不能直接用于生产环境),保持五分钟
(3)通过脚本日志输出调试定时任务
(4)注意一些任务命令带来的问题
(5)注意环境变量导致的定时任务故障(java环境变量问题:
http://oldboy.blog.51cto.com/2561410/1541515)
(6)通过crond定时任务服务日志调试定时任务(/var/log/cron)
猜你喜欢
- 2025-07-24 JMeter前置处理器-Beanshell前置处理器详解
- 2025-07-24 海豚DolphinScheduler系统调度操作分析
- 2025-07-24 详细讲解性能测试(详细讲解性能测试题)
- 2025-07-24 什么是脚本文件?与可执行文件有什么不同?
- 2025-07-24 Shell编程基础及变量(shell编程语句)
- 2025-07-24 朋友研发的项目上线后频频崩溃,朋友的内心也是崩溃的
- 2025-07-24 Linux日常小技巧shell脚本2(linux shell脚本编写实例)
- 2025-07-24 打开对话框控件默认选择当前脚本所在文件夹的功能
- 2025-07-24 Linux系统Shell脚本语言之编程实践
- 2025-07-24 解决了的"xx: command not found"Linux Shell脚本中的错误
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)