単純なAWS CLIバックアップスクリプトを実行しようとしています。インクルードファイルの行をループし、それらのパスをS3までバックアップし、出力をログファイルにダンプします。このコマンドを直接実行すると、エラーなしで実行されます。CRONで実行すると、出力ログに「資格情報が見つかりません」というエラーが表示されます。
シェルスクリプト:
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
エラーが表示されるようになった後、設定ファイルに行を追加したのは、これで修正できるかもしれないと思ったからです(AWSがデフォルトでどこに見えるかは確かですが)。
シェルスクリプトがルートとして実行されています。指定した場所でAWS構成ファイルを確認できます。そして、それはすべて私には良さそうです(私が言ったように、それはCRONの外でうまく動きます)。
~/.aws/config
。