쉘 스크립트를 실행하기 위해 크론 작업을 설정하는 방법은 무엇입니까?


44

나는 cron 일을 설정했다 :

20 * * * * /usr/bin/sh /home/lucky/myfile.sh

주요 문제점은 스케줄 시간에 "메일이 / var / spool / mail / lucky으로 전송되었습니다"라는 오류가 있다는 것입니다.

myfile.sh의 내용은 다음과 같습니다.

mkdir jh
cd jh 

도움이 될 수 있습니다 : help.ubuntu.com/community/CronHowto
PeppeDAlterio

2
myfile.sh가 실행 파일로 설정된 경우?
rogerdpack

답변:


60

크론 작업으로 설정된 스크립트에는 적합하지 않습니다.

mkdir jh
cd jh 

jh디렉토리를 작성해야하는 전체 경로를 제공 해야합니다. 또한이 경로에는 새 파일 / 디렉토리를 작성할 수있는 권한이 있어야합니다.

예를 들어, 스크립트는 다음과 같아야합니다.

#!/bin/sh

mkdir /home/lucky/jh
cd /home/lucky/jh

또한 /usr/bin/sh올바른 경로가 아닙니다 sh. 올바른 길은입니다 /bin/sh. whereis sh명령으로 확인할 수 있습니다 . 그럼에도 불구하고 cron 작업은 다음과 같아야합니다.

20 * * * * /home/lucky/myfile.sh

스크립트를 실행 가능하게 만드는 것을 잊지 마십시오 :

chmod +x /home/lucky/myfile.sh

어쨌든 내 생명을 구했습니다 :) 광산은 이렇게 잘 작동합니다. 0 7 * * * / bin / sh /root/Scripts/command.sh> / dev / null 2> & 1
Louwki

5

이 폴더를 만드는 것으로 보이는 경로는 /입니다. 이는 실행하는 모든 파일의 폴더 및 파일crontab대한 전체 경로가 필요 하기 때문 입니다.

따라서 myfile.sh의 경로는

mkdir <absolutePath>/jh

cd <absolutePath>/jh

20 * * * * /usr/bin/sh /home/lucky/myfile.shsh가 / usr / bin / sh에 존재하는지 여부를 확인하기 위해 경로를 확인해야하지만이 행은 정확합니다 (sh가 존재하는 경로를 보는 데 사용 which sh하십시오.내는 / bin / sh였습니다)

crontab 작성을 서두르면이 링크에 꽤 좋은 예가 있습니다.

http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.