Linux计划任务Crontab学习笔记(5):常见错误使用案例
① 环境变量
cd ~
pwd
就会到你登陆的那个用户的根目录下
ls -a
能够查看到 .bash_profile 这个文件
vim .bash_profile
这里面设置了一些环境变量。
可以设置一个新的环境变量,在文件末尾加上:
APPDIR=/etc
export APPDIR
:wq! 保存退出
source .bash_profile
echo $APPDIR
如果在计划任务中使用到了全局变量,例如
crontab -e
写入
*/1 * * * * echo $APPDIR >> /tmp/appdir.log
但是此时使用
tail -f /tmp/appdir.log
查看日志时,去发现显示的是空行,正常情况下应该输出 /etc
$APPDIR 根本没有被识别。
原因是在 .bash_profile 设置的环境变量没有被 crontab 识别,因此要注意。
② 命令行双引号中使用 % 时,未加反斜线 \
③ 第三和第五个域之间执行的是 "或" 操作
第三个域是某个月中的天,第五个域是某个月中的星期几,例如:四月的第一个星期日早晨 1 时 59 分运行 a.sh
59 1 1-7 4 * test `date +\%w` -eq 0 && /root/a.sh
%w eq 0 表示当前日所在的星期的某一天如果等于 0 就执行
test 表示判断是否成功
&& 表示当 前面的 test 成功时执行
【补充】
echo $?
表示判断上一个命令执行成功与否,0 表示成功,1 表示失败
④ 分钟设置误用
【两小时运行一次】
正确的写法
0 */2 * * * date
【再例】
1-20/2 * * * * COMMAND
表示 第1、3、5、7、9.....19 分钟运行命令
============
【综合案例】
【例1】Crontab 中最小只能设置到每分钟执行一个命令,如果想每半分钟执行某个命令怎么做到?
——通过 shell 脚本的 sleep 命令配合 Crontab 即可完成这一功能
date && sleep 0.5s && date
例如:
该例表示先执行 date,过了0.5s 之后再执行 date
【例2】
crontab -e</p> <p>*/1 * * * * date >> /tmp/date.log
*/1 * * * * seep 30s;date >> /tmp/date.log
第一个命令保证每分钟执行一遍命令
第二个命令,执行的时候,先等妨碍 30s ,再去执行
使用下面的命令可以查看写入的时间
tail -f /tmp/date.log
相关文章
- widow自启动执行的任务计划是日常工作中很常见的设置,那么Win7如何设置计划任务?下面小编就给大家带来Win7设置计划任务的方法,希望可以帮助到大家2016-06-27
- 在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时上下架。我们以php文件为例,讲解linux下的计划任务,来看看吧2016-05-09
Win7计划任务服务怎么关闭?Win7关闭Task Scheduler服务的方法
Win7计划任务服务怎么关闭?很多朋友们可能还不知道,下面小编就给大家带来Win7关闭Task Scheduler服务的方法,希望可以帮助到大家2016-02-16- Win10计划任务在哪里?任务计划程序对不少人来说是一个重要的工具,小编就曾很长一段时间依靠它来定时自动运行程序,很多人问到Win10计划任务在哪里?下面脚本之家小编就给2015-09-21
Linux计划任务Crontab学习笔记(4):crontab 的日志
这篇文章主要介绍了Linux计划任务Crontab学习笔记(4):crontab 的日志,本文讲解了日志的文件位置、查看今天的 cron 的日志方法、查看Root用户mail中日志的方法等内容,需2015-06-23- 这篇文章主要介绍了Linux计划任务Crontab学习笔记(3):配置文件,本文详细介绍了Crontab配置文件的相关知识、 cron.d服务的相关知识等内容,需要的朋友可以参考下2015-06-23
Linux计划任务Crontab学习笔记(2):基本组成与配置
这篇文章主要介绍了Linux计划任务Crontab学习笔记(2):基本组成与配置,本文给出了多个、多种形式的使用实例,需要的朋友可以参考下2015-06-23Linux计划任务Crontab学习笔记(1):应用场景和基本使用
这篇文章主要介绍了Linux计划任务Crontab学习笔记(1):应用场景和基本使用,crontab 是一个用于设置周期性被执行的工具,被周期性执行的任务被称为 Cron Job,周期性执行列2015-06-23- 定期整理磁盘碎片,可以让我们的电脑运行的更加快速,默认设置了磁盘碎片整理计划,如果不想按照计划进行,可以手动设置整理时间2015-02-10
- linux怎么用at命令编写简单的计划任务?如果想在linux下计划在将来的某个时刻执行某些命令,可以通过atd服务实现此功能。默认情况下所有的linux系统都提供此项功能,需要的2015-01-18
最新评论