원격 호스트에서 일부 rsync를 수행하기 위해 아래 쉘 스크립트를 사용하고 있습니다. Jumphost로 SSH를 연결한 다음 다시 SSH를 통해 아래와 같이 rsync를 시작합니다.
여기서는 로그의 시작 날짜와 종료 날짜를 캡처해야 합니다. 하지만 아래 스크립트를 실행하면 두 로그가 동시에 인쇄됩니다.
더 정확하게 말하면 여기의 스크립트는 ServerA에서 생성된 다음 ServerB로 점프하고 다시 ServerC로 점프한 다음 rsync 명령을 실행합니다. 여기서는 ServerA에서 rsync 명령의 시작 시간과 종료 시간을 캡처해야 합니다. 하지만 이 종료 시간은 예상대로 작동하지 않습니다. 스크립트가 시작되면 log.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 프로세스가 완료되면 이 스크립트를 활성화한 다음 로그 섹션의 끝으로 진행해야 합니다.
대기 명령을 시도했지만 도움이 되지 않았습니다.
어떤 아이디어라도 감사하겠습니다