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

标签 linux bash shell sh database-backups

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

$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"

关于linux - shell脚本中顺序执行命令并延迟下一条语句执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36594865/

相关文章:

Linux chmod命令错误: chmod: invalid mode:

python - 从任何地方执行 python 脚本

bash - Debian:如何将错误消息写入文件?

php - 在后台运行脚本并从 php 返回它的 pid

bash - 如何在 Bash 中将变量设置为命令的输出?

c++ - 将 C/C++ 代码从 Linux 转移到 Windows 真的很慢

linux - 检查 WC 命令输出是否大于 BASH

Linux bash 多线程/进程小作业

bash - 如果找不到匹配项,则通过 grep 返回新行

linux - 从 Linux 服务器向 Windows 手机发送推送通知