当前位置: 首页 > 面试题库 >

如何让CRON调用正确的PATH

有凯泽
2023-03-14
问题内容

我试图让cron调用正确的PATH。当我从外壳运行Python脚本时,脚本运行良好,因为它使用了bashrc中设置的PATH,但是当我使用cron时,bashrc中并未使用所有PATH。是否有一个文件可以像bashrc一样输入cron的PATH或从bashrc调用PATH的方法?

抱歉,我的措词不正确,我可以运行正确的脚本(这意味着crontab中脚本的PATH不是这里的问题),只是该脚本在运行时,我运行了构建,并且使用了在中设置的路径.bashrc。当我登录后运行脚本时,将.bashrc拉入PATH。由于cron并未在shell中运行,所以说它不会拉入.bashrc。有没有一种方法可以不必编写bash脚本包装器而将其引入?


问题答案:

我用过/etc/crontab。我使用vi并在该文件中输入了所需的PATH,然后以root身份运行它。普通的crontab会覆盖您设置的PATH。关于如何执行此操作的很好的教程。

系统范围的cron文件如下所示:

This has the username field, as used by /etc/crontab.
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
42 6 * * *   root    run-parts --report /etc/cron.daily
47 6 * * 7   root    run-parts --report /etc/cron.weekly
52 6 1 * *   root    run-parts --report /etc/cron.monthly
01 01 * * 1-5 root python /path/to/file.py


 类似资料:
  • 我们使用gradle构建我们的Java项目,有些基于JDK7,有些基于JDK8。我知道org.gradle.java.home属性,但在我看来它有缺陷。 如果我在'~/.gradle/gradle.properties'中配置它,这将迫使我对所有gradle项目使用相同的JDK。 对此最好的解决方案/变通办法是什么?

  • 我有一个目前看起来像这样的方法: 我的理解是这是错误的。所以现在我正在考虑修复它,它应该是这样的: . doOn成功将返回一个客户响应,我需要在调用Health之前实际检查响应中的内容。构建器::。 如果我调用. fletMap()而不是doOn成功,它会出现错误吗?或者我需要把它放在doOn成功中吗?如果我把它放在doOn成功中,似乎我需要做一个双重doOn成功(这不可能是正确的,是吗?): 此

  • 问题内容: 我的代码有最后一个问题,涉及反射包中的.Call函数。 所以我在打这样的电话: 我正在执行.Call的方法如下: 我不太了解的是如何操作“ in”变量,以便将需要的映射正确传递到函数中。我看到make()中的第二个参数是参数的长度吗?但是我不太了解如何格式化var以正确传递参数。我递归地遇到错误消息: 任何帮助将非常感激! 问题答案: 来自: 呼叫调用函数与输入参数。例如,如果,代表去

  • 问题内容: 使用cron运行脚本时,在内部调用的任何可执行文件都必须具有完整路径。我发现这种尝试运行wondershaper的方法时,尝试调用tc时出现许多错误。所以我的问题是,克服这个问题的正确方法是什么? 可能的解决方案: cd到可执行文件文件夹,并在其中准备指向任何其他称为可执行文件的符号链接(不确定它是否有效-可移植性低) 在脚本中使用完整路径(有效-不同发行版之间的可移植性较低) 在脚本

  • 错误:由于隐式依赖模块中缺少导出函数,至少有一个模块具有未解析的导入。错误:发现具有不同CPU类型的模块。 但是这个DLL是从另一个运行良好的DLL派生出来的(尽管它是从VB代码调用的),但它也抛出了同样的两个错误。 最后,我是这样称呼它的:

  • 我正在做一个项目,我有一个文件,程序可以访问该文件以获取不同年份的不同犯罪信息。然后它需要根据类型添加犯罪并将其放入文件中。我有第一部分,它确实访问了文件并按类型添加了犯罪金额,但当我打开创建的文件时,它没有正确打印出来,我似乎找不到问题所在。 这是打印在文件上的内容: ísr爪哇。util。HashMapÚÁÃ`F loadFactorI thresholdxp?@全爪哇暴力犯罪。lang.In