간혹 shell에서 직접 실행하면, 정상적으로 잘 동작하는 스크립트가 crontab에 등록하면 정상적을 동작하지 않는 경우가 발생하곤 합니다. 대부분 shell의 환경 변수와 crontab의 환경 변수가 달라서 발생을 하게 됩니다. 스크립트 내에서 외부 명령어를 실행하는 경우에 PATH 환경변수가 달라서 명령어 위치를 찾지 못해서 에러가 발생하는 경우가 대표적인 예입니다. 이런 문제를 해결하기 위해서 crontab 실행 시 환경 변수를 맞춰서 실행하는 방법을 소개합니다. 환경 변수 확인 현재 로그인된 shell의 환경 변수 값을 확인 하는 방법은 set 명령어를 이용하면 확인 할 수 있습니다. # set |egrep '^PATH' PATH=/usr/local/sbin:/usr/local/bin:/sbin..
ssh 로 접속후 crond 재시작 후 crond 에서 실행하는 스크립트에 변수가 한글이 들어가면 에러가 나는 경우가 발생했다.알고보니, 접속하는 로컬의 locale 설정이 원격지에 ssh 접속 시 적용이 되었고,로컬의 LANG=en_US 환경이 적용된 상태에서 crond가 재시작 되어 crond에서 실행하는 스크립트에 영향을 미친 것이었다. =ㅁㅠ ssh 접속할때 locale(LANG, LC_*) 전달은로컬 /etc/ssh/ssh_config 파일에 SendEnv LANG LC_* 설정이 존재하면 ssh 접속시 locale 설정이 같이 전송되고,원격 /etc/ssh/sshd_config 파일에 AcceptEnv LANG LC_* 설정이 존재하면 ssh 클라이언트에 전송된 locale 설정을 적용하도록 ..
tendo 모듈 설치 easy_install tendopip install tendo 12from tendo import singletonme = singleton.SingleInstance()cs 기존 스크립트에 위 내용만 추가 해주면 되고, 인스턴스가 실행중이면 에러 발생 시키고 sys.exit(-1) 됨최신 singleton.py 스트립트는 https://github.com/pycontribs/tendo/blob/master/tendo/singleton.py 여기서 확인하면 됨 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667..
- Total
- Today
- Yesterday
- Module
- engineering
- File
- httpd
- check
- error
- mysql
- 번역
- 이슈처리
- 명령어
- 예제
- example
- client
- apache
- Linux
- Web
- MariaDB
- 코드
- RESTful
- configuration
- deview
- code
- Windows
- monitoring
- 외부링크
- PowerShell
- Python
- Ansible
- limits
- command
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |