Я пытался автоматизировать некоторые задания через cron на EC2.Однако команды aws не выполнены из-за ошибки «403 Forbidden».Коды работали нормально, когда я запускал их в оболочке.Я перепробовал почти все решения по переполнению стека, но ни одно из них не решило проблему.
Код тестирования достаточно прост.(проверить копирование файла из S3 в мой EC2)
/2 * * * * /usr/local/bin/aws s3 cp s3://fraud-training-test/FraudAWS_v1.R /home/ubuntu
У кого-нибудь есть чувство, что еще я мог бы сделать, чтобы решить эту проблему?Спасибо!
До сих пор я пробовал следующие решения:
- Установил и настроил awscli для root и моего текущего пользователя;
- Поставьте глобальный путь и 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