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에 존재하지 않습니다.

한 가지 해결책은 필수 경로와 별칭을 설정하는 profile/rc 파일을 얻는 것입니다.

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

관련 정보