【问题标题】:aws-cli 1.2.10 cron script failsaws-cli 1.2.10 cron 脚本失败
【发布时间】:2014-02-13 22:03:01
【问题描述】:

我有一个 crontab,它触发一个 PHP 脚本,该脚本运行 AWS CLI 命令“aws ec2 create-snapshot”。

当我通过命令行运行脚本时,php 脚本成功完成,aws 命令将 JSON 字符串返回给 PHP。但是当我设置一个 crontab 来运行 php 脚本时,aws 命令不会返回任何内容。

crontab 以与我自己在命令行上运行 PHP 脚本时相同的用户身份运行,所以我有点难过?

【问题讨论】:

    标签: amazon-web-services cron crontab centos6 aws-cli


    【解决方案1】:

    之所以需要指定 aws 命令的完整路径,是因为默认情况下 cron 在非常有限的环境中运行。我也遇到了这个问题,并通过将其添加到 cron 脚本中对其进行了调试:

    set | sort > /tmp/environment.txt
    

    然后我通过 cron 和命令行运行脚本(在运行之间重命名环境文件)并比较它们。这让我看到我需要同时设置 PATH 和 AWS_DEFAULT_REGION 环境变量。完成此操作后,脚本运行良好。

    【讨论】:

    • 感谢分享您的调试方法
    【解决方案2】:

    我在运行 ruby​​ 脚本 (ruby script.rb) 时遇到了同样的问题。 我用它的完整路径(/sources/ruby-2.0.0-p195/ruby)替换了 ruby​​,它起作用了。 在您的情况下,将“aws”替换为其完整路径。找到它: 查找/-名称“aws”

    【讨论】:

    • 太棒了,非常感谢!就是这样,信不信由你。我被困了两个小时。
    猜你喜欢
    • 2014-05-16
    • 2013-09-08
    • 2018-01-13
    • 2011-12-21
    • 1970-01-01
    • 2015-11-19
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多