最近一直遇到crontab执行脚本和手动执行结果不一样的问题。根据添加的echo语句已经确定crontab能够准时执行任务,可是脚本里的程序不能正确执行。唯一能确定的是环境变量问题,可是即使明确地写上绝对路径也无法正确执行。百度解决办法大致为: 在脚本开始加入 source /etc/profile 至于为什么要这样?网搜到一篇类似问题文章,其很好的解释了Linux登录登出的过程,摘录如下: 关于登录linux时,/etc/profile、~/.bash_profil ...
阅读全文坑,坑,一个大坑,一个陷了无数勇士的坑。。。。 这种情况一般是由于在crontab文件中没有配置环境变量引起的。下文摘自跳出坑的大勇士: 注意环境变量问题 有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,这种情况一般是由于在crontab文件中没有配置环境变量引起的。 在crontab文件中定义多个调度任务时,需要特别注意的一个问题就是环境变量的设置,因为我们手动执行某个任务时,是在当前shell环境下进行的,程序当然能找到环境变量,而 ...
阅读全文crontab执行脚本始终不能成功运行java程序的问题终于解决。 当手动执行脚本与crontab执行脚本的结果不一致时,这类问题都应该是环境设置问题。解决办法大部分情况是通过脚本中添加source /etc/profile来解决。如果还没有解决就是其他问题了。 我的这个问题就是自己设置Java参数时没有添加路径所致。上代码: 文件updateStock.sh #!/bin/sh source /etc/profile source ~/.bash_profile ...
阅读全文呵呵,比较有用,网上摘抄的。留着备用吧。 名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab。 crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的crontab. crontab-d[user]-删除 ...
阅读全文