내가 만든 스크립트가 crontab에서 호출되지 않는 문제 해결 방법

우분투 리눅스를 이용 중에 매일마다 반복적으로 실행 시킬 스크립트가 있어서 my_script.sh를 만들어 /etc/cron.daily에 넣어두었는데 어찌 된 영문인지 다른 스크립트들은 잘 실행이 되는데 내 것만 안되는 경우가 발생합니다.
run-parts -v /etc/cron.daily
위 명령을 실제로 스케줄러가 호출하는 명령으로 해당 디렉토리 내의 모든 스크립트들을 순차적으로 구동시키는데 -v 를 붙여서 어떤 스크립트들이 실행되고 있는지를 화면으로 출력해보았습니다. 신기하게도 딱 제 것만 쏙 빠뜨리고 모든게 정상적으로 수행됩니다. 당연히 chmod +x my_script.sh로 실행 권한도 주었고, 파일 본문 맨 앞에 #!/bin/bash로 어떤 쉘로 실행해야 하는지도 적어두었는데 도무지 해결되지 않았습니다. 결국 찾아낸 정답은 '확장자를 명시하지 말라'. 뭐라고!?
run-parts runs all the executable files named within constraints described below, found in directory directory. Other files and directories are silently ignored.
If neither the --lsbsysinit option nor the --regex option is given then the names must consist entirely of ASCII upper- and lower-case letters, ASCII digits, ASCII underscores, and ASCII minus-hyphens.
단지, ascii 코드로 된 문자, 숫자, 밑줄, 하이픈만 허용합니다. 따라서 해결을 위한 명령은 단지 바로 이 한 줄이었습니다.
mv my_script.sh my_script 
상당히 허무했던 이벤트...
Powered by Blogger.

Popular Posts