AWS CLI - crontabでは機能しません

AWS CLI - crontabでは機能しません

aws --versionスクリプトとcliでコマンドを実行できます。ただし、このコマンドをcrontabに入れても機能しません。

予約されたもの:

50 12 * * * aws --version > ~/yolo.swag

間違い:

/bin/sh: 1: aws: not found

aws コマンドは bash スクリプトにあります。 cronでスクリプトを実行すると、同じエラーメッセージが表示されます。コマンドを正しく実行するためのスクリプトを取得するにはどうすればよいですか?

答え1

aws実行可能ファイルのフルパスを指定する必要があります。

50 12 * * * /usr/local/bin/aws --version > ~/yolo.swag

答え2

crontab -eを実行するコマンドラインの前にこのコードを入力してください。

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

答え3

問題は、ログイン環境とクローン実行環境が異なることです。したがって、デフォルトでは環境は設定されません。つまり、すべてのrcファイル、エイリアス、およびカスタム関数が実行時にcronに存在するわけではありません。

1つの解決策は、必要なパスとエイリアスを設定するprofile / rcファイルを取得することです。

 * 5 * * * * $HOME/.profile; $HOME/.bashrc ; <your command>

関連情報