2017-04-01 14 views
0

bron 스크립트가 cron에서 실행되지 않는 문제가 있습니다. 대신 cli에서 루트로 실행하면 잘 작동합니다. 당신이 볼 수 있듯이 스크립트가 완료되면 txt 파일에 기록합니다. 이것은 또한 스크립트가 cron에서 실행될 때 수행됩니다. 오라클 dmp 만 저장되지 않습니다 (분명히 압축되지 않습니다). 작업이 매우 빠르게 완료되므로 오라클 내보내기를 수행하지 않습니다 ...Cron이 쉘 스크립트를 제대로 실행하지 않습니다.

도움을 주셔서 감사합니다!

backup.sh

#!/bin/bash 
#makes an Oracle backup and zips the created file 
TIME=`date +%F_%H:%M:%S` 
FILENAME=Backup-$TIME 

exp userid=user/password file=/home/user/DatabaseBackup/$FILENAME.dmp 
zip /home/user/DatabaseBackup/$FILENAME.zip /home/user/DatabaseBackup/$FILENAME$ 
find /home/user/DatabaseBackup/ -mtime +0 -type f -delete 

echo "Backup completed:" `date +%F_%H:%M:%S` >> /home/user/scripts/logBackup.txt 
#END 

의 crontab -e (26) * * * * /home/user/scripts/backup.sh

+1

실행 파일의 전체 경로를 추가하십시오 (date, exp, zip, find). – Cyrus

+1

도움을 요청하기 전에 cron 작업 (stdin 및 stderr)의 출력을 캡처해야합니다.이 출력에서 ​​발견 된 오류 메시지는 원인을 쉽게 찾거나 다른 사람이 도움을 줄 수 있습니다. 'cron'에서 실행되는 잡은 다른 환경을 가질 수 있습니다. 여러분의 문제는'PATH' 또는 여러분이 사용하는 프로그램의 어떤 다른 변수의 차이에서 비롯 될 수 있습니다. – Fred

+0

Fred1 네 말이 맞아,라는 프로그램의 출력을 확인하는 것이 가장 좋습니다! 아프다. 뭐가 잘못 됐는지 봐. – helmut1978

답변

0

좋아, 내가 한 일은이다 :

I 추가

>> /home/user/cron.txt 2>&1 

이걸 내 cronjob 선언에 넣으면됩니다. 이제는 cornjob의 출력이 있습니다. 어떤 도움이 오라클에 대한 몇 가지 evironmet 변수가 누락 된 것을 쉽게 찾을 수 있었다이와

...

덕분에 제공!