-
111111
查看全部 -
111111
查看全部 -
11111
查看全部 -
每半分钟执行一次:date && sleep 30s && date
#crontab -e
*/1 * * * * date >> /tmp/date.log
*/1 * * * * sleep 30s;date >> /tmp/date.log
#crontab -l
#tail -f /var/log/cron
#tail -f /tmp/date.log
查看全部 -
两小时运行一次date命令
错误: * 0,2,4,6,8,10,12,14,16,18,20,22 * * * date
正确: 0 */2 * * * date
查看全部 -
date +%w:表示获取当前是周几
test `date +%w`-eq=1:表示当前的周几返回值是否和1相等,如果相等返回0,不等返回1
echo $?:表示输出上一句的结果
第三和第五个域之间执行的是 "或" 操作
计划任务中使用%时,%前要加入反斜线\
#例:四月第一个周日1:20运行a.sh
20 1 1-7 4 0 /root/a.sh
#这样写任务是错误的,这条任务实际含义是4月1号至7号的1:20或4月的周日的1:20执行
#正确的写法如下: 20 1 1-7 4 * test 'date +\%w' -eq 0 && /root/a.sh
#test 'date +%w' -eq 0主要目的是判断是不是周日
查看全部 -
ls -a 可以看到有.bash_profile文件
vim .bash_profile 新增一个环境变量
APPDIR=/ect export APPDIR
更新到环境变量: source .bash_profile
检验:
echo $APPDIR 可以正常显示,能够被识别
但是在下面这条命令行添加在crontab里不能被识别
*/1 * * * * echo $APPDIR >> /tmp/appdir.log
在/var/log/cron任务执行日志中可以看到,但是cat打开/tmp/appdir.log内容是空的
查看全部 -
/var/log/cron 保存着所有的crontab的操作
/var/spool/mail/ 下也会以邮件的方式发送日志信息
查看全部 -
crontab 只能编辑用户级别的计划任务
/etc/crontab是系统级别的计划任务,cron.d是/etc/crontab的系统级别计划任务的补充
crontab –l 就是操作 /var/spool/cron/root这个文件
查看全部 -
crontab -help
crontab -e -u crontester(用户名) //创建用户crotab命令
crontab -l -u crontester //查看用户名crontester的用户操作
tail -f /var/log/cron //查看log文件
查看全部 -
格式说明:
* * * * * COMMAND
第一个*代表:分钟0~59
第二个*代表:小时0~23
第三个*代表:日期1~31
第四个*代表:月份1~12
第五个*代表:星期0~7(0或者7表示星期天)
案例:
每晚的21:30重启apache
30 21 * * * service httpd restart
每月1,10,22日的4:45重启apache
45 4 1,10,22 * * service httpd restart
每月1到10日的4:45重启apache
45 4 1-10 * * service httpd restart
每隔两分钟重启apache服务器
*/2 * * * * service httpd restart #偶数分钟
1-59/2 * * * * service httpd restart #基数分钟
晚上11点到早上7点之间,每隔一小时重启apache
0 23-7/1 * * * service httpd restart
每天18:00至23:00之间没个30分钟重启apache
0,30 18-23 * * * service httpd restart
0-59/30 18-23 * * * service httpd restart
小结:
* 表示任何时候都匹配
可以用 A,B,C 表示或A或B或C时执行命令
可以用 A-B 表示A到B之间时执行命令
可以用 */A 表示每A分钟(小时等)执行一次命令
查看全部 -
配置文件用于设置定时任务
系统服务 crond每分钟会从配置文件刷新定时任务
crontab -e 配置工具crontab用于调整定时任务
查看全部 -
进入crontab编辑器: crontab -e
*/1 * * * * date >> /tmp/log.txt #每分钟打印当前时间到一个日志文件(log.txt)中
查看当前已有的crontab指令: crontab -l
tail 文件路径: 查看最后几行
tail -n 文件路径 : 查看指定的最后几行
tail -f 文件路径 : 动态刷新文件的最后几行
查看全部 -
检查Crontab工具是否安装 crontab -l
检查Crontab服务是否启动 service crond status
未安装,则安装cron
yum install vixie-cron
yum install crontabs
查看全部 -
Crontab是一个用于设置周期性被执行的任务的工具
Cron table: 周期性执行的一项任务列表
Cron job: 周期性执行的一项任务查看全部 -
Crontab补充
查看全部 -
分钟设置误用
查看全部 -
Crontab常见错误
查看全部 -
Crontab的日志
查看全部 -
Crontab的配置文件格式
查看全部 -
Crontab的配置文件格式
查看全部 -
Crontab的配置文件格式
查看全部 -
Crontab的配置文件格式
查看全部 -
Crontab的基本组成
查看全部 -
Crontab的基本组成
查看全部 -
定时任务小例子
使用tail -f log.txt 查看日志文件信息
service crond status #查看服务是否启动
service crond start #如没有启动服务,启动服务
crontab -l #查看当前定时任务列表
crontab -e #打开定时任务列表文件,进行编辑
*/1 * * * * date >> /tmp/log.txt #每分钟打印当前时间到一个日志文件(log.txt)中,在最后一行插入内容,保存退出(注意*间的空格)
tail -f /tmp/log.txt #监听log.txt文件内容(动态刷新),去掉-f则只显示当前文件内容,-3则表示显示最后三行内容。
date #查看当前时间
查看全部 -
检查并安装Crontab服务
查看全部 -
CRONTAB实践
查看全部
举报