반응형
* 증상
mysql 쿼리 실행관련해서 쉘 스크립트는 잘 돌아가는데
crontab에 sh를 올렷더니 안되드라..
**********
1. 중간에 실행하는 스크립트 출력문으로 출력해봄 -> O
2. 실행을 로그로 찍음 echo "Table Name : $TNAME / DIR : $FDIR" >> $LOG_DIR/$TNAME.$START_DATE.log -> O
3. 경로 모두 절대경로로 변경 -> O
***********
sh실행은 잘되느넫 정말
cron에서만 안돌아간다;;
cron도 실행은되는데
결과가 null;;
원인은 간단하다
$ which mysql
/MARIA/mariadb/bin/mysql
일반적인 루트에 mysql이 없었기 때문...
* import_data.sh
/MARIA/mariadb/bin/mysql -u$USER -p$PW $DB --local-infile=1 -e "LOAD DATA LOCAL INFILE '$DATA_DIR/$TNAME/$FDIR/$FILE' INTO TABLE $TNAME CHARACTER SET UTF8 FIELDS TERMINATED BY '
이렇게 수정해씀
------------추가내용
결론부터 말하자면 환경변수 문제였다. 어떤계정에서 crontab작동하도록 명령하지않는 다..
그냥 시간되면 지 스스로 작동하기에 환경변수 따위가 없다.. 가져올 환경변수가 없으므로 작동하지 않는 건 당연하다.
crontab에서 환경변수를 설정해주면 이 문제는 간단히 해결된다.
crontab -e에서
HELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
출처 : https://www.conory.com/magazine/21351
반응형
'Develope > LINUX' 카테고리의 다른 글
[Linux] SSH port 설정 ConnectException: 연결이 거부됨 (Connection refused) (1) | 2018.02.27 |
---|---|
[shell script] 프로세스 실행 체크 스크립트 (0) | 2018.01.08 |
[Shell Script, Mysql] mysql -e 명령어 시 결과 억지로 출력하기 (wc -l / -Bse) (2) | 2017.11.22 |
[ShellScript] 프로세스 시작, 종료 sh (feat. 데몬) (0) | 2017.11.16 |
[Mysql, ShellScript] Import Data sh 파일 (2) | 2017.11.07 |