-1

Я пишу сценарий оболочки, который пытается сделать резервную копию.

Моя цель

  1. Команда в сценарии создания файла резервной копии, этот файл резервной копии мне нужно скопировать на мой FTP-сервер.

Здесь проблема,

В вышеупомянутом пункте 1 команда все еще занята созданием файла резервной копии. Но мой скрипт выполняет следующие команды, которые он копирует старый файл резервной копии на мой FTP-сервер.

Я хочу, чтобы мой сценарий дождался окончания выполнения команды в пункте 1.

Я гуглил и нашел одно решение, но оно не работает в моем случае.

Гугл-решение выглядит следующим образом:

echo "request system recovery backup include-package-dir false" \
| /opt/vnms/ncs/current/bin/ncs_cli && OUTPUT="$(ls /var/ABCD/backups | tail -n 1)" 

В приведенном выше решении я думал, что пока запрос резервного копирования для восстановления системы не завершит свою работу, следующая инструкция (т.е.) OUTPUT="$(ls /var/ABCD/backups | tail -n 1)" не будет выполняться.

Но это не работает, как я думал.

У меня нет проблемы, когда include-package-dir имеет значение false . Потому что файл резервной копии составляет 200 МБ.

Но когда это true резервный файл похож на 7 ГБ и требует времени для создания. Поэтому, прежде чем файл резервной копии будет готов, скрипт продолжит работу и выполнит OUTPUT ..... и внесет в него старое имя файла резервной копии и скопирует его на FTP-сервер. Я хочу, чтобы скрипт ждал, пока файл резервной копии не будет полностью готов.

0