Sh 스크립트는 crontab에서 실행되지 않지만 ./ [duplicate]를 사용하여 수동으로 실행됩니다.

Sh 스크립트는 crontab에서 실행되지 않지만 ./ [duplicate]를 사용하여 수동으로 실행됩니다.

다음을 사용하여 crontab에 넣은 .sh 스크립트가 있습니다.

0 * * * * /root/Linux/lansare.sh

스크립트를 실행 가능하게 만들어도 실행되지 않습니다. x를 확인하고 찾았습니다. 스크립트 이전에 #!/bin/sh 쓰기를 시도했지만 여전히 실행되지 않습니다.

./lansare.sh폴더에서처럼 수동으로 실행 하면 작동합니다.

crontab에서 작동하도록 도와주실 수 있나요?

감사해요

답변1

크론탭에 넣어보세요

0 * * * * /root/Linux/lansare.sh >> /root/Linux/lansare.log 2>&1

그런 다음 /root/Linux/lansare.log를 읽으십시오.

이렇게 하면 두 개의 출력 스트림(Stdout 및 Stderror)이 표시되고 스크립트에서 무엇이 잘못되었는지 알 수 있습니다.

답변2

이것을 crontab에 넣는 방법에는 두 가지가 있습니다.

  1. crontab -e입력한 위치에서 실행되는 편집기를 실행하셨나요 0 * * * * /root/Linux/lansare.sh? 그렇다면 crontab -e명령을 실행하십시오.루트 사용자로/root귀하의 스크립트가 일반 사용자에게 권한이 없는 곳에 있기 때문입니다 .

  2. 넣어두시나요 /etc/crontab, 아니면 파일로 담아두시나요 /etc/cron.d/? 그렇다면 당신은사용자 이름 포함root(귀하의 경우) 해당 줄에서 스크립트를 실행하는 데 사용하고 싶습니다 . 이와 같이:

    0 * * * * root /root/Linux/lansare.sh
    #         ^^^^----[here]
    

관련 정보