2017-04-01 20 views
0

bronスクリプトがcronから実行されていないという問題があります。私は代わりにcliからrootとして実行するとうまくいきます。ご覧のとおり、スクリプトが終了したらtxtファイルに書き込みます。これは、スクリプトがcronから実行されるときにも実行され、Oracle 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

[OK]を、私がやったことはあります

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

これは私のcronjob宣言には、これは今私はcornjobの出力を持っています。任意の助け、Oracleのためのいくつかのevironmet変数が欠落していたことを見つけるのは簡単だった。これにより

...

おかげで提供します!

関連する問題