루트 크론이 스크립트를 실행하지 않음 (권한 거부)


17

이 명령을 사용하여 특정 사용자 폴더에있는 스크립트를 주기적으로 실행하도록 루트 크론 탭을 편집했습니다.

sudo crontab -e

cron이 스크립트를 실행할 때 다음이 출력됩니다.

sh: 1: /home/user/Location/Of/Script: Permission denied

나는 루트 크론이 무엇이든 할 수있는 권한을 가지고 있다고 생각했습니다. 이 스크립트를 루트로 수동으로 실행할 때 문제가 없습니다.

설명서 에서 추가 오류 정보를 찾을 수 있음을 읽었습니다 .

sudo cat /var/log/syslog

내가 찾은 것은 다음과 같습니다.

Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)

그러나 이것은 아마도 권한 거부 문제와 관련이 없다고 생각합니다.

어떻게해야합니까?


3
에 권한을 나열 할 수 있습니까 /home/user/Location/Of/Script? 예 la -l /home/user/Location/Of/Script. 또한 외부에서 전자 메일을 보내거나받지 않는 경우에도 일반적인 내부 용으로 MTA를 설치해야합니다. 시스템에 아직 설치되어 있지 않은 것이 놀랍습니다.
Faheem Mitha

1
이것은 모든 종류의 것들 때문일 수 있습니다. @FaheemMitha가 요청한 명령의 출력과 crontab의 관련 행을
게시

-rw-r--r-- (문제였습니다)-감사합니다
Lonniebiz

"-rw-r--r--"로 문제를 해결했다고하는데 그것이 무엇인지 또는 어떻게 사용하는지 모르겠으며이 스레드에서 설명한 것과 같은 문제가 있습니다. 후손에 대한 솔루션을 좀 더 구체적으로 지정할 수 있습니까? 나와 같은 사람들은 정말 고마워 할 것입니다. 감사합니다!
Johnson Jason

@JohnsonJason : 문제는 스크립트 파일에 대한 권한이 실행을 허용하지 않았다는 것입니다. 스크립트에 실행 권한을 부여하는 방법을 보여주는 허용 된 답변을보십시오.
Lonniebiz

답변:


19

스크립트가 실행 가능하지 않다고 생각합니다. 따라서 다음 명령을 사용하여 작성하십시오.

chmod +x /home/user/Location/Of/Script

또는 해당 스크립트의 소유자가 아닌 경우 :

sudo chmod +x /home/user/Location/Of/Script

따라서 cron이 스크립트를 실행하려면 실행 가능해야하지만 루트에는이 플래그가 필요하지 않으므로 수동으로해야합니까?
Lonniebiz

1
스크립트를 수동으로 실행하는 방법에 따라 다릅니다. 를 사용하여 스크립트를 실행 ./Scipt하거나 /home/user/Location/Of/Script그렇지 않은 경우. 일반적으로 모든 스크립트는 실행 가능해야합니다. Linux에서 쉘 스크립트를 실행하는 방법을 참조하십시오 .
Radu Rădeanu

그것은 말이되지만, 나는 cron을 시도 할 때까지 권한 문제가 발생하지 않고이 스크립트를 수동으로 ./script 방식으로 수동으로 실행했습니다. 도와 주셔서 감사합니다.
Lonniebiz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.