我正在嘗試編寫腳本來進行數據庫備份。備份腳本如下 -在shell腳本中按順序執行命令並延遲執行下一條語句
$LOG_TIME=`date +%T`
$LOG=/home/developer/backup.log
echo $LOG_TIME "::Backup Started">>$LOG;
su - oracle -c "exp username/password file=~/db_exp.dmp log=db_exp.dmp";
echo $LOG_TIME "::Backup End">>$LOG;
我的代碼是完美的補充備份。但是,當我檢查db_exp.dmp
文件,我發現 -
14:25:33 :: Backup Started
14:25:33 :: Backup End
我的問題是這裏的兩線「備份開始」和「備份結束」打印在同一時間,而它需要幾秒鐘(約40〜 50)進行備份。我想打印備份完成時的實際時間。我已經嘗試了幾件事情 - 使用&&
;用分號(;
)和if
聲明一樣 -
if backup_command; then
echo $LOG_TIME ":: Backup End";
fi
但沒有爲我工作。我不想在這裏使用sleep
,因爲它不能讓我完成數據庫備份的實際時間。
'$ LOG_TIME'值設置一次。您必須爲結束日期調用新的'date'命令。 – SLePort