crontab 쉘 스크립트에서 수정하기

용용죽겠지 2017-06-20 (화) 11:33 7년전 6389  

안녕하세요 메카솔루션입니다.


 


이번에는 리눅스에서 스케줄을 관리하기 위한 Cron을 에디터를 사용하지 않고 쉘스크립트로 수정하는 방법을 알아보도록 하겠습니다.


평소의 Cron 수정은


crontab -e 

#nano 에 접속하여 수정



쉘 스크립트에서 수정하면 아래와 같은 방법으로 수정할 수 있습니다.


crontab -l > editcron

echo "크론 명령어" >> editcron

crontab editcron

rm cron


여기서 > 와 >> 를 볼수 있는데 이는 파일을 수정하는데 사용합니다.

>는 왼쪽에서 출력된 값을 덮어씌우고

>> 는 왼쪽에서 출력된 갚을 이어 붙입니다.


즉 cron명령의 목록을 확인하는 -l 로 원래 목록을 editcron에 저장하고


echo "크론 명령" 으로 출력된 값을 editcron에 이어 붙입니다.


마지막으로 crontab에 파일을 덮어씌우는 것으로 적용을 하는 것입니다.


이를 스크립트 파일로 변환을 하고 sudo ./script.sh 처럼 실행이 되었을 때 에러가 발생하게 됩니다.


그 이유는 sudo 를 통해서 계정 상태는 root가 되었지만 저희틀이 작업한 계정은 pi 계정이기 때문입니다.


그럴때는 cronttab -u pi -l 과 같이 -u pi 를 추가하여 대상 계정을 고정해주면 해결이 됩니다.


감사합니다.


담당자: yevgeny

메카리워즈 Image Map


모바일 버전으로 보기