이번 글은 성의가 매우 부족하게 트윗의 열거로 끝낼까 합니다.
질문. perlbrew 설정이 crontab에서도 적용되게 하려면 어떻게 적어줘야 할까요..? .bashrc 에서 perlbrew의 설정파일을 부르게 해 둔 상태인데 crontab으로 실행하는 스크립트에는 적용이 안 되어 시스템 펄을 부르네요.
— Raymundo (@gypark) February 22, 2012
@gypark gist.github.com/1882996 이런 식으로 하면 됩니다.
— envi (@nving) February 22, 2012
@nving 어… 그러면 다른 버전으로 switch 할 때마다 저 변수값을 바꿔줘야 해서…
— Raymundo (@gypark) February 22, 2012
@nvingperlbrew깔린디렉토리/perlbrew/bin/perlbrew exec 스크립트.pl이런 식으로 하니까 되네요~
— Raymundo (@gypark) February 22, 2012
@gypark @nving님께서 알려주신 방법이 정석(perlbrew와 동일한 방식)이라고 보여집니다. 다만 저라면 환경 변수 설정 없이 명시적으로 실행할 펄 바이너리를 명시하고 실행할 스크립트를 적어줄 것 같습니다.
— keedi (@keedi) February 22, 2012
@gypark @nving 크론에서 돌린다면 사실 어떤 버전이든지 알아서(환경 변수에 따라) 실행되게 하는 것은 위험한 것 같습니다. 더불어 크론으로 돌릴 스크립트라면 환경 변수를 믿지 않도록 작성할 필요도 있을테구요.
— keedi (@keedi) February 22, 2012
@nving @gypark 그렇게 실행할 경우 지금 현재 자신이 switch 하는 perl 버전에 따라 cronᅟ으로 돌릴 스크립트가 영향을 받지 않나요? 그렇다면 어떤 버전에는 설치된 모듈이 있고 어떤 버전에는 없다면 문제가 생길 것 같아요.
— keedi (@keedi) February 22, 2012
@keedi @nving RSS만드는 스크립트들을, 5.14에서 테스트했더니 와장창 망가지더라고요. Mechanize쪽이 어느 순간부터 반환값을 디코드해서 반환하는 터라. 그래서 거기에 맞춰 고쳤더니 정작 크론에서는 5.8 상에서 도는 바람에 OTL
— Raymundo (@gypark) February 22, 2012
이상 날로먹는 crontab + perlbrew 끝.