Linux笔记(45)——计划任务之Crontab
来源:互联网 发布:mac上wine怎么用 编辑:程序博客网 时间:2024/06/08 18:18
- 概念
- 查看cron是否安装
- 安装
- 简单的例子
- crontab基本组成
- crontab配置文件语法
- 基本格式
- 示例
- crontab的使用
- 全局系统配置文件
- 用户级别配置文件
- cron日志
- crontab常见错误
- 环境变量错误
- 命令行双引号中使用时未加
- 第三和第五个域之间执行的是或操作
- 分钟设置错误
- 补充
概念
Crontab是一个周期性执行任务的工具
Crontab周期性执行的任务叫做cron job
Crontab周期性执行的任务的列表叫做cron table
查看cron是否安装
crontab -l 查看是否安装
service crond status查看服务是否启动
安装
yum install vixie-cron
yum install crontabs
简单的例子
输入命令crontab -e,将会打开一个文本,输入
*/1 * * * * date >> /tmp/date.txt
表示每分钟执行一次,将当前日期输入到date.txt文件中
保存并退出
然后1分钟后打开date.txt即可看到效果。
推荐使用命令tail -f /tmp/date.txt 不断显示date.txt最后几行的内容
crontab基本组成
crontab配置文件语法
基本格式
示例
crontab的使用
linux是多用户的系统,所以crontab也是分用户的工具
- crontab –help 可以查看帮助
- crontab -l 查看当前用户的任务列表
- crontab -e 为当前用户编辑cron任务,在前面的例子有用到
- crontab -e -u user1 为user1编辑计划任务
- crontab -l -u user1 查看user1的计划任务
全局(系统)配置文件
查看 /etc/crontab
我们可以在这里增加一条
*/1 * * * * user1 echo “hehe”
表示user1用户,每分钟输出一个hehe,修改完后该计划任务就会被执行
我们也可以在/etc/cron.d文件夹下创建一个配置文件mycron,然后把配置信息写进去,然后这个计划任务就会自动被执行
但是我们用crontab -l却查不到刚才添加的任务,说明crontab -l命令只能查询到用户级别的计划任务,而刚刚那种方法添加的配置是属于全局,或者说是系统级别的
用户级别配置文件
crontab -l查看当前用户的计划任务,-e是编辑计划任务,实际上,用户的计划任务是存放在/var/spool/cron/用户名 这个文件中
比如:查看当前用户计划任务
vim /var/spool/cron/root
加上一个end file注释
再执行crontab -l
cron日志
/var/log/cron保存crontab执行的任务的日志
每一天都会有一个日志
/var/spool/mail下也能看到一定的信息
crontab常见错误
环境变量错误
*/1 * * * * echo $var,在执行这个计划任务时,未必能够找到var这个环境变量
命令行双引号中使用%时,未加\
需要加入\表示转义
第三和第五个域之间执行的是“或”操作
例如:
1-7表示1号-7号,最后一个0表示星期天,但是实际上这两个域是“或”运算,也就是说,只要是1号-7号,或者是星期天,都会执行。
正确写法:
分钟设置错误
两个小时运行一次
* */2 * * * echo “hehe”
以上是错误的,正确的应该是
0 */2 * * *
补充
如:
*/1 * * * * echo "xxxxxxx"*/1 * * * * sleep 30s;echo "xxxxxxx"
这样就能实现半分钟执行一次
- Linux笔记(45)——计划任务之Crontab
- 探索Linux之—CRONTAB计划任务
- Linux 计划任务 — crontab
- Linux 计划任务 — crontab
- Linux 计划任务 — crontab
- Crontab学习笔记——Linux计划任务
- linux笔记:crontab计划任务
- linux笔记:crontab计划任务
- linux笔记:crontab计划任务
- linux计划任务之crontab
- Linux 计划任务之crontab
- Linux 计划任务之crontab
- Linux之任务计划crontab
- Linux中的计划任务——Crontab
- crontab计划任务(linux)
- 实验楼Linux学习笔记(八)之任务计划crontab
- Linux 任务计划之crontab命令
- linux入门之任务计划crontab
- jak的下载与安装
- 数据库表多对多的设计
- hdu 5643 King's Game (dp约瑟夫环)
- 12步教你理解Python装饰器
- java代理模式的实现方式
- Linux笔记(45)——计划任务之Crontab
- equal() 与hashcode()之我理解
- 通过java.net.URLConnection发送HTTP请求的方法
- jquery分页插件jquery.pagination.js与springmvc整合
- hibernate中Restrictions用法
- Linux命令之程序(二)
- 关于Android在线直播问题的讨论与研究
- Storm_Storm主要特点
- 我的2015年