gsutil возвращает код 0 даже в случае сбоя

мы пытаемся создать отказоустойчивую копию с помощью gsutil.

Проблема в том, что gsutil cp возвращает 0 даже в случае сбоя. Ожидается ли это? Должен ли я анализировать журнал?

/usr/local/bin/gsutil -m cp -L gsutilM.log gs://my-bucket/mydir/myfile1.gz /home/myuser

Из файла журнала:

Result,Description
error, CommandException: crc32c signature computed for local file (FGa0jw==) doesn't match     cloud-supplied digest (N1S6Ew==).
Local file (/home/myuser/myFile1.gz) will be deleted.

Спасибо


person brdido    schedule 16.07.2014    source источник
comment
Это не проблема gsutil. Мой сценарий запуска использовал неправильный параметр и неправильно обрабатывал код возврата. Извините моя ошибка.   -  person brdido    schedule 17.07.2014


Ответы (1)


Я попытался изменить код, который выполняет проверку crc32c, чтобы вызвать это условие. Затем я загрузил файл, увидел вывод, как вы видели, и убедился, что для $status установлено значение 1.

Какую ОС и оболочку используете?

person Mike Schwartz    schedule 16.07.2014
comment
Кроме того, какую версию gsutil вы используете? Если вы не используете последнюю версию, попробуйте обновить ее — я думаю, мы уже исправили эту проблему, но, возможно, это другое проявление. - person Zach Wilt; 17.07.2014
comment
Привет, Майк, спасибо за ответ. Так что, возможно, это моя проблема с кодом: gsutil версии 4.3 centos 2.6.32-431.1.2.0.1.el6.x86_64 О какой оболочке: я использую функцию perl system() `stackoverflow.com/questions/4225102/ ` - person brdido; 17.07.2014
comment
Привет! Я нашел эту статью, в которой рассказывается, как проверить статус завершения команды после вызова функции Perl system(): perlhowto. com/executing_external_commands - person Mike Schwartz; 20.07.2014