AzCopy: Как узнать, была ли копия успешной или нет

#powershell #azcopy

Вопрос:

У меня есть скрипт в Ubuntu, который каждый час копирует только один файл в учетную запись хранилища. Я использую azcopy filename.tar https://<storage>.blob.core.windows.net/<container> .

Этот сценарий работает, но я хотел бы проверить, была ли копия успешной или нет, например:

 validcopy = azcopy copy filename.tar https://<storage>.blob.core.windows.net/<container>
if(validcopy){
    echo "Success"
} else {
    echo "Failure"
}
 

Кроме того, я пытался использовать Power Shell в Linux (pwsh), но безуспешно.

Пожалуйста, кто-нибудь может мне помочь?

Ответ №1:

У меня есть альтернативное решение этой проблемы. Я использовал код выхода в оболочке bash. Каждая команда Linux или Unix, выполняемая сценарием оболочки или пользователем, имеет статус выхода. Статус выхода-это целое число. 0 статус выхода означает, что команда была выполнена успешно без каких-либо ошибок. Ненулевое (1-255 значений) состояние выхода означает, что команда была выполнена неудачно.

Определенная переменная оболочки, вызываемая $? для получения статуса завершения ранее выполненной команды

Все было так:

 azcopy copy filename.tar https://<storage>.blob.core.windows.net/<container>
if [[ $? -gt 0 ]]
then
    echo "Failure"
else 
    echo "Success"
fi