Próbuję uruchomić prosty skrypt kopii zapasowej AWS CLI. Pętla przechodzi przez linie w pliku dołączania, kopiuje te ścieżki do S3 i zrzuca dane wyjściowe do pliku dziennika. Kiedy uruchamiam to polecenie bezpośrednio, działa ono bez żadnego błędu. Kiedy uruchamiam go przez CRON, w moim dzienniku wyjściowym pojawia się błąd „Nie można zlokalizować danych logowania”.
Skrypt powłoki:
AWS_CONFIG_FILE="~/.aws/config"
while read p; do
/usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1
done </PATH/TO/INCLUDE/include.txt
Dodałem wiersz do pliku konfiguracyjnego dopiero po tym, jak zobaczyłem błąd, myśląc, że to może go naprawić (chociaż jestem pewien, że tam domyślnie wygląda AWS).
Skrypt powłoki działa jako root. Widzę plik konfiguracyjny AWS w określonej lokalizacji. I wszystko wygląda dla mnie dobrze (jak powiedziałem, działa dobrze poza CRON).
~/.aws/config
.