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>