Linux 计划任务 Crontab 笔记与总结(5)crontab 常见错误与案例
① 环境变量
cd ~
pwd
就会到你登陆的那个用户的根目录下
ls -a
能够查看到 .bash_profile 这个文件
vim .bash_profile
这里面设置了一些环境变量。
可以设置一个新的环境变量,在文件末尾加上:
APPDIR=/etc
export APPDIR
:wq! 保存退出
source .bash_profile
echo $APPDIR
如果在计划任务中使用到了全局变量,例如
crontab -e
写入
*/ * * * * echo $APPDIR >> /tmp/appdir.log
但是此时使用
tail -f /tmp/appdir.log
查看日志时,去发现显示的是空行,正常情况下应该输出 /etc
$APPDIR 根本没有被识别。
原因是在 .bash_profile 设置的环境变量没有被 crontab 识别,因此要注意。
② 命令行双引号中使用 % 时,未加反斜线 \
③ 第三和第五个域之间执行的是 "或" 操作
第三个域是某个月中的天,第五个域是某个月中的星期几,例如:四月的第一个星期日早晨 1 时 59 分运行 a.sh
- * test `date +\%w` -eq 0 && /root/a.sh
%w eq 0 表示当前日所在的星期的某一天如果等于 0 就执行
test 表示判断是否成功
&& 表示当 前面的 test 成功时执行
【补充】
echo $?
表示判断上一个命令执行成功与否,0 表示成功,1 表示失败
④ 分钟设置误用
【两小时运行一次】
正确的写法
0 */2 * * * date
【再例】
-/ * * * * COMMAND
表示 第1、3、5、7、9.....19 分钟运行命令
============
【综合案例】
【例1】Crontab 中最小只能设置到每分钟执行一个命令,如果想每半分钟执行某个命令怎么做到?
——通过 shell 脚本的 sleep 命令配合 Crontab 即可完成这一功能
date && sleep .5s && date
例如:
该例表示先执行 date,过了0.5s 之后再执行 date
【例2】
crontab -e */ * * * * date >> /tmp/date.log
*/ * * * * seep 30s;date >> /tmp/date.log
第一个命令保证每分钟执行一遍命令
第二个命令,执行的时候,先等妨碍 30s ,再去执行
使用下面的命令可以查看写入的时间
tail -f /tmp/date.log
Linux 计划任务 Crontab 笔记与总结(5)crontab 常见错误与案例的更多相关文章
- linux计划任务 学习笔记
原文链接: http://www.tsingfeng.com/?tag=cronjob 本文说的计划任务是指linux的Cronjob.语法 下面是个简单的计划任务: 10 * * * * /usr/ ...
- linux免密登录ssh验证配置方法及常见错误解决
目标:从服务器A免密登录服务器B [配置方法] 1.在服务器A生成密钥文件,直接使用以下命令: ssh-keygen 中间遇到输入内容一路回车即可,完成后会在 ~/.ssh 目录下生成两个文件:id_ ...
- Linux 计划任务 Crontab 笔记与总结(3)Crontab 配置文件
[全局(系统)配置文件] /etc/crontab Linux 主要的配置文件都在 etc 目录下. cd /etc ls cron* vim crontab 进入 cron.d(服务) cd cro ...
- Linux 计划任务 Crontab 笔记与总结(1)
Linux 版本:CentOS 6.6 应用场景,例如: ① 每分钟执行一个程序检查系统运行状态 ② 每天凌晨需要对过去一天的业务数据进行统计 ③ 每个星期需要把日志文件备份 ④ 每个月把数据库进行备 ...
- Linux学习笔记之Linux计划任务Crontab
0x00 cron 简介 cron 是 UNIX, SOLARIS,LINUX 下的一个十分有用的工具.通过 cron 脚本能使计划任务定期地在系统后台自动运行. 0x01 cron 命令 cront ...
- Linux 计划任务 Crontab 笔记与总结(2)Crontab 的基本组成与配置
[Crontab 的基本组成] ① 系统服务 CROND:每分钟都会从配置文件刷新定时任务 ② 配置文件 :文件方式设置定时任务 ③ 配置工具 crontab:用途调整定时任务 [配置文件的配置文件格 ...
- 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理
目录 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理 17.1 计划任务-at-cron-计划任务使用方法 17.1.1 at计划任务的使用 17.1.2 查看和删除at将要执行 ...
- Linux计划任务Crontab实例详解教程
说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...
- Linux计划任务crontab
Linux系统中存在两种工作调度的方式 周期性的(at),每隔一个固定的周期要来办的事项: 一次性的(crontab),做完一次以后就不会再执行: at at是个可以处理仅执行一次就结束调度的指令,不 ...
随机推荐
- struts2中各种值栈问题
struts2中OGNL和 ValueStack(一) 收藏 学习的时候,总分不清楚在struts2中页面的传值和取值是怎么来完成的,所以从网上搜了很多资料,现在把这些资料总结写,留着以后参考..看完 ...
- ava.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind (解决思路)
当我们在启动tomcat服务的时候报错信息:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bin 分析:从错 ...
- javac编译提示编码GBK的不可映射字符
使用命令行javac命令编译java文件, 提示错误:编码GBK的不可映射字符. 在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe会获得我们操 ...
- Stringbuffer与Stringbuilder源码学习和对比
>>String/StringBuffer/StringBuilder的异同 (1)相同点观察源码会发现,三个类都是被final修饰的,是不可被继承的.(2)不同点String的对象是不可 ...
- SVN服务器搭建和使用(二)(转载)
转载地址:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407979.html 上一篇介绍了VisualSVN Server和Torto ...
- Java Hour 34 Weather ( 7 ) struts2 – validate
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 34 Form Validation 一般Form 提交都有验证的, ...
- 【Tyvj1038】忠诚 线段树
题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...
- Spring的事件和监听器
Application下抽象子类ApplicationContextEvent的下面有4个已经实现好的事件 ContextClosedEvent(容器关闭时) ContextRefreshedEven ...
- python 代码片段13
#coding=utf-8 # 条件转化 data=raw_input("enter 'y' or 'n'") if data[0]=='y': print "you t ...
- OI分类
黑字:认识 红字:要学 未添加:要学 ├─模拟├─字符串│ ├─字符串基础│ ├─manacher│ ├─kmp│ ├─trie│ ├─ac自动机│ ├─后缀数组( ...