У меня есть куча файлов на S3, и мне нужно загрузить и обновить их через командную строку (BASH) на нескольких устройствах.
Что я делаю (на данный момент):
-I
и извлеките поле ETag-f
получить надежный статус выхода$?
завиткаЧто бы я хотел сделать:
--header 'If-None-Match:<md5sum of local file>
Мой вопрос: можно ли рассчитывать на статус выхода локонов? Т.е. когда статус выхода равен 0, является ли загруженный файл действительным (предполагается, что моя файловая система тем временем не повреждена)?
Извините, что недостаточно комментариев для комментариев, но вы можете посмотреть на это и учесть, что etag не соответствует вашим ожиданиям для любого файла, который был загружен из нескольких частей. https://stackoverflow.com/questions/6591047/etag-definition-changed-in-amazon-s3
Что касается проверки файла, я бы сказал, что да, если вы хотите быть уверены на 100%. Тот факт, что вы могли получить все правильные биты по сети, не означает, что они были правильно записаны на ваш жесткий диск. Не все настолько критично, что вы должны проверять, но в целях архивирования я всегда проверяю, и вы были бы удивлены, сколько раз мне приходилось возвращаться, чтобы настроить способ, которым файлы попадают в конечный пункт назначения, потому что на плохих дисках и т. Д.