AWS CLI работает в оболочке, но не работает в cron - PullRequest
0 голосов
/ 28 марта 2019

Я пытался автоматизировать некоторые задания через cron на EC2.Однако команды aws не выполнены из-за ошибки «403 Forbidden».Коды работали нормально, когда я запускал их в оболочке.Я перепробовал почти все решения по переполнению стека, но ни одно из них не решило проблему.

Код тестирования достаточно прост.(проверить копирование файла из S3 в мой EC2)

/2 * * * * /usr/local/bin/aws s3 cp s3://fraud-training-test/FraudAWS_v1.R /home/ubuntu

У кого-нибудь есть чувство, что еще я мог бы сделать, чтобы решить эту проблему?Спасибо!

До сих пор я пробовал следующие решения:

  1. Установил и настроил awscli для root и моего текущего пользователя;
  2. Поставьте глобальный путь и homeповерх моего сценария

например:

SHELL=/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Пробовал планировать задание cron как мой текущий пользователь и как root, но оба не смогли.

Ниже приведена точная ошибка, которую я получил из журнала:

Subject: /usr/local/bin/aws s3 cp s3://fraud-training-test/FraudAWS_v1.R /r$
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/usr/bin:/usr/local/bin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>

fatal error: An error occurred (403) when calling the HeadObject operation: Forbidden
...