Bash 脚本日志记录无法按预期使用 rsync 跳转服务器

Bash 脚本日志记录无法按预期使用 rsync 跳转服务器

我正在使用下面的 shell 脚本在远程主机上执行一些 rsync。通过 ssh 到 Jumphost,然后再次 ssh 并启动 rsync,如下所示。

在这里我需要捕获日志的开始和结束日期。但不知何故,当我执行下面的脚本时,它同时打印两个日志。

更准确地说,这里的脚本在 ServerA 上生成,然后跳转到 ServerB,再次跳转到 ServerC,然后执行 rsync 命令。这里我需要捕获ServerA上rsync命令的开始时间和结束时间。但是这个结束时间并没有按预期工作,一旦脚本启动,它就会在logs.txt上记录开始和结束时间,但我可以看到rsync过程仍在进行中。

date="`date +%T-%D`"
i=folder
echo "Log started at $date for $i" >> logs.txt
ssh -T -i key user1@HOST1  "ssh -T  user2@HOST2    << EOF
rsync -av --progress source dest
EOF"
###Here the logging not excecuting after the rsync command.
if [ $? -eq 0 ]; then
echo "Log ended at $date for $i" >> logs.txt
fi

在这里,一旦 rsync 进程在远程主机上完成,我需要激活此脚本,然后继续进行日志结束部分。

我已经尝试过 wait 命令,但这也没有帮助

任何想法表示赞赏

相关内容