awscliチェックスクリプトがcrontabスケジュールで機能しない

awscliチェックスクリプトがcrontabスケジュールで機能しない

AWS CLIのバージョンを確認するために小さなコードスニペットを作成しました。

    #!/usr/bin/env bash
    if [ -e "/usr/local/bin/aws" ];
    then
        myAWS="/usr/local/bin/aws"
    else
        myAWS="/usr/bin/aws"
    fi
    
    myCmd=("${myAWS} --version")
    
    echo "$myCmd"
    
    message=$($myCmd)

echo "$message"

これで、rootユーザーを使用してこのスクリプトを手動で実行すると、問題なくこのスクリプトを実行できます。 rootユーザーに対してcrontabを介してこのスクリプトをスケジュールしようとすると、aws cliのアップグレードがリリースされます(下記のスケジュール)。

57 21 * * * /rough/scripts/log/test.sh > /rough/scripts/log/test.log 2>&1

次のエラーが発生します。提案してもらえますか? ? ? aws cliを再インストールしましたが、効果はありません。

crontabランタイム環境がスクリプトを手動で実行するときとは異なることはわかっていますが、cronjobが選択したランタイム環境が何であるかを確認できます。ユーザーはrootで、オペレーティングシステムはSLESです。

[[エラーは次のとおりです]]

/usr/local/bin/aws --version
Traceback (most recent call last):
  File "aws", line 19, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "awscli/clidriver.py", line 43, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "awscli/help.py", line 20, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "docutils/core.py", line 23, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "docutils/io.py", line 43, in <module>
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 4-6: surrogates not allowed
[24036] Failed to execute script 'aws' due to unhandled exception!`

ベストアンサー1

おすすめ記事