안녕하세요.
항상 답변주시는 고마운 분들께
감사드리고 있습니다.
질문 드릴 내용은 conkyForecast라는
conky에서 날씨를 알려주는 프로그램에 대해서 입니다.
#!/bin/bash
conkyForecast > /somewhere/result.txt
등등… 같이 해놓고
load.sh를 만들어 cron과 gnome의 세션에 등록시켜놓고
conky에서는 결과만 읽어서 쓰고 있습니다.
저는 우분투를 집과 직장에서 쓰고 있는데요…
집에서는 아무 문제없이 잘 쓰고 있는데
직장에서 쓸때는 터미널에서 직접 실행한 것과,
세션이나 cron에 의해서 실행한 결과가 다르게 나옵니다.
터미널에서 load.sh를 실행하면 문제없이 잘 됩니다.
session이나 cron에 등록한 스크립트는 실행은 되는듯 하나,
생성된 result.txt이 제목만 있는 빈 파일이 되거나
터미널에서 직접 실행됐던 result.txt속은 바뀌지 않고
파일의 날짜만 바뀝니다.
퍼미션 문제인가 해서 살펴봤지만 적어도 제가보기에는 문제없어 보이고,
검색해보니 몇몇 프로그램은 stdin에서만 동작한다는 말도 있어서
conkyForecast < /dev/null >/somewhere/result.txt
처럼 해도 결과는 마찬가지였습니다.
굳이 집과 직장과 다른점이라면 직장은 프록시환경의 유선망 데스크톱이라면
집은 공유기에 무선을 쓰는 노트북이라는 정도? (아무 관련 없…겠죠?)
과연 어디를 살펴보고 어떻게 문제를 해결해야 할까요?
고수님들의 답변 기대하겠습니다.
user1
(강분도)
3월 6, 2009, 11:17오후
2
2가지가 생각 되어 집니다.
1번째는 로그인 후에 인터넷이 연결 되는 문제로
웹에서 정보를 가져오지 못하는 문제…
2번째는 크론 등록파일의 절대 경로 입니다.
날씨 스크립을 다른거 를 사용해 보시거나 또는 콘키 실행을 늦추어 보시거나…
또는 무선이래도 미리 실행되어 연결되게 네트워킹 데몬을 사용해 보십시요.
강분도님 답변 감사합니다.
1번 같은 경우는 세션에 등록되어 있다면 그럴수 있습니다만,
cron으로 실행되는건 계속 인터넷에 연결되어 있는 중에 실행되는데
그래도 결과는 똑같았습니다.
2번 같은 경우는…
일부러 집에서 쓰는 환경과 똑같은 경로에 똑같은 디렉토리를 만들어두고 쓰고 있는데도 그렇습니다…
점검해볼만한 다른 곳들은 없을까요?
고수님들 도움 부탁드립니다…
crontab 설정과
스크립트 파일
syslog의 cron관련 log를 올려주세요…
ihavnoth님 안녕하세요.
결국 문제 해결했습니다.
syslog에서도 cron이 실행됐다는 로그밖에 남지 않았었습니다.
원인은 프록시였네요.
터미널에서 실행하는 경우는 /etc/bash.bashrc에 있는 환경변수가 적용되는 반면,
cron이나 gnome의 session에서는 안먹는 경우가 있나보네요.
혹시 프록시 환경에서 cron이나 session등으로 스크립트를 돌리는데
뭔가 이상하다 하시는 분들 참고하시기 바랍니다.
저는 그냥 스크립트 앞에 [code:1nhj1bzn]export http_proxy=http://username:password@proxyserver.net:port/
export ftp_proxy=http://username:password@proxyserver.netport/
[/code:1nhj1bzn]를 넣어 버렸습니다.
다른 좋은 방법도 있을듯 한데,
걍 돌아가니 더이상 신경쓰기가 싫으네요.