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"
이제 루트 사용자를 사용하여 이 스크립트를 수동으로 실행할 때 문제 없이 이 스크립트를 실행할 수 있습니다. 루트 사용자에 대해 crontab을 통해 이 스크립트를 예약하려고 하면 aws cli 업그레이드를 릴리스합니다(아래 일정).
57 21 * * * /rough/scripts/log/test.sh > /rough/scripts/log/test.log 2>&1
다음과 같은 오류가 발생합니다. 제안해 주실 수 있나요? ? ? aws cli를 다시 설치했지만 효과가 없습니다.
crontab 런타임 환경이 스크립트를 수동으로 실행할 때와 다르다는 것을 알고 있지만 cronjob이 선택한 런타임 환경이 무엇인지 확인할 수 있습니다. 사용자는 루트이고 운영 체제는 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!`