在shell脚本中顺序执行命令并延迟执行下一条语句

Sequential execution of command in shell script and delay the next statement to execute

我正在尝试编写一个脚本来进行数据库备份。备份脚本如下 -

$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

我的问题是两行“Backup Started”和“Backup End”在几秒钟内同时打印(约 40~50) 以备援。我想打印备份完成的实际时间。我已经尝试了几种方法 - 使用 &&;使用分号 (;) 和 if 语句,如 -

if backup_command; then 
   echo $LOG_TIME ":: Backup End";
fi

但对我来说没有任何效果。我不想在这里使用 sleep,因为它没有给我数据库备份完成的实际时间。

试试这个

echo `date +%T` "::Backup End"