linux – Crontab源文件

linux – Crontab源文件,第1张

概述最近我创建了一个bash脚本,我应该在cron中运行. 在准备好bash脚本及其正常工作之后,我把它放在Cron中,发现它失败了.和第二步一样,我删除了所有的环境依赖,而不仅仅是file.txt,我指定了/home/blah-blah/file.txt 我仍然发现脚本仍然失败了一步.该步骤是一种数据处理工具. 我执行的命令是/ bin / blah-blah / processing_tool - 最近我创建了一个bash脚本,我应该在cron中运行.

在准备好bash脚本及其正常工作之后,我把它放在Cron中,发现它失败了.和第二步一样,我删除了所有的环境依赖,而不仅仅是file.txt,我指定了/home/blah-blah/file.txt

我仍然发现脚本仍然失败了一步.该步骤是一种数据处理工具.
我执行的命令是/ bin / blah-blah / processing_tool -parameter $INDEX,其中$INDEX是在bash脚本中计算的变量.

第三步是在bash脚本的开头添加bash配置文件作为源.瞧!!!!该脚本从cron开始完美执行.

我的问题是,为什么即使在我从脚本中删除了所有环境依赖项后,这种情况也会发生.我也听说不建议将bron作业转换为bash配置文件.如果是这样,有没有其他方法可以避免这样做.

解决方法 基本上:从cron开始的任何东西都以完全干净的方式开始.
您不能对环境变量的内容或任何从cron运行的脚本开头的当前文件夹中的任何文件夹做任何假设.

最简单的解决方案
cd到所需的目录,以确保您的路径在所需的位置.
源/ etc / profile确保您获得系统范围的环境变量设置.
source~myuserID / .profile来读取您的个人环境设置. (〜/ .profile将不起作用,因为它表示cron用户.)
然后开始执行实际的脚本.
当然,上面的方法要求cron进程具有对你的home-dir的读访问权,并且它可能正在做更多的实际需要的工作.

稍微复杂一点:找出脚本需要哪些环境变量以及脚本调用的任何内容.
在cron脚本的开头显式导出这些.

(P.s.将/ etc / profile和~myuserID / .profile替换为您选择的shell的相应文件.)

总结

以上是内存溢出为你收集整理的linux – Crontab源文件全部内容,希望文章能够帮你解决linux – Crontab源文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1017408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存