Linux crontab 定时任务

Linux crontab 定时任务

 

crontab命令选项:

     -u指定一个用户

     -l列出某个用户的任务计划

     -r删除某个用户的任务

     -e编辑某个用户的任务

 

新增:

crontab -e 然后添加相应的任务,wq存盘退出。

查看:

crontab -l //列出当前的所有调度任务

 

 

crontab有个问题,就是它总是不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错.

有时候会出现,定时任务在执行脚本时,识别不了环境变量的问题,例如:JAVA、SVN、MVN等

这就要求在脚本开头部分加入如下内容:

#!/bin/sh

. /etc/profile

. ~/.bash_profile

 

~表示当前用户的家目录,可能有些环境做了修改,找不到.bash_profile,根据实际情况处理吧,不行就注释掉

 

参考文章:

http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html

 

注意:执行时报的环境变量可能会与当前环境不一样!

手动执行脚本没问题,但是使用crontab执行时,会出现环境变量引发的问题

主要解决办法是:

1、在自己写的脚本中,开头部分添加

#!/bin/sh

. /etc/profile

#. ~/.bash_profile

 

2、对于使用到的相关环境变量写入到/etc/profile文件中

也就是说crontab执行前先配置好相关环境变量再执行

 

 

或者:

 

拷贝文件(以todos命令为例)

将安装目录下的todos文件(/mydir/re/tofrodos/src)拷贝到/bin目录下,并赋于相关权限

 

cp /mydir/re/tofrodos/src/todos /bin/

 

chmod 777 /bin/todos

 

 

有的定时任务在/etc/crontab中:  cat /etc/crontab

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值