cron中的脚本找不到命令

SO用户

我有一个脚本,可以转储数据库并将SQL文件上传到Swift。我遇到了脚本在终端中运行正常但在cron中失败的问题。

进行一些调试后,我/usr/local/bin/swift发现在脚本中找不到该命令。

这是我的crontab条目:

*/2 * * * * . /etc/profile; bash /var/lib/postgresql/scripts/backup  

这是我尝试过的:

  1. 使用完整路径swift/usr/local/bin/swift
  2. 执行/etc/profile执行bash脚本之前脚本。

我该如何解决?

jesse_b

Cron与用户使用的环境不同。如果您执行以下操作,您将明白我的意思:

键入env从终端的提示,并记下输出。

然后像这样设置一个cron作业,并将其输出与上一个进行比较:

*/5 * * * * env > ~/output.txt 

您会发现问题很可能是因为与您的用户crontab没有相同的PATH变量。作为解决方案,您可以(来自postgres用户)echo $PATH,然后将其结果复制到crontab的第一行(类似这样)

PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jbutryn/.local/bin:/home/jbutryn/bin

或者,如果您想更具体一点,可以添加以下内容:

PATH=$PATH:/usr/local/bin

但是,我通常总是将用户的PATH放在crontab中,因为我还没有听到不这样做的充分理由,如果不这样做,您很可能会再次遇到这个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bash脚本说找不到命令?

来自分类Dev

在if循环的shell脚本中找不到mkdir命令

来自分类Dev

为什么在此构建脚本中找不到“ xcodebuild:命令”?

来自分类Dev

在bash脚本中找不到mkdir命令

来自分类Dev

Windows .bat脚本中的Measure-Command:找不到命令

来自分类Dev

slurm脚本给出“找不到命令”

来自分类Dev

Bash脚本-UNIX-找不到命令

来自分类Dev

在Shell脚本中找不到命令

来自分类Dev

找不到命令:Cron

来自分类Dev

Bash脚本-“错误:找不到命令”?

来自分类Dev

Shell脚本:找不到命令错误

来自分类Dev

通过cron运行脚本时出现“找不到命令”

来自分类Dev

在shell脚本中找不到date命令

来自分类Dev

在Shell脚本中找不到命令

来自分类Dev

在Shell脚本中找不到命令

来自分类Dev

在shell / bash脚本中找不到命令

来自分类Dev

找不到在Shell脚本中运行的命令

来自分类Dev

从shell脚本中捕获“找不到命令”

来自分类Dev

在sh脚本中找不到g ++命令

来自分类Dev

在Shell脚本中调用函数时找不到命令

来自分类Dev

cron脚本找不到logwatch和chkrootkit

来自分类Dev

找不到服务命令cron

来自分类Dev

bash脚本:找不到命令

来自分类Dev

脚本中的“ ^ M:找不到命令”

来自分类Dev

在 docker bash 脚本中运行时找不到命令

来自分类Dev

脚本失败,找不到命令

来自分类Dev

在 bash 脚本中设置源后找不到命令

来自分类Dev

通过 cron 运行脚本时“找不到命令”

来自分类Dev

~/bin 中的 Shell 脚本正常工作,但找不到命令