Одним из файлов My Application создает «не является файлом»

scp проверяет, что он скопировал все данные, отправленные другой стороной. Целостность передачи гарантируется протоколом криптографического канала. Поэтому вам не нужно проверять целостность после передачи данных. Это было бы излишним и вряд ли позволило бы обнаружить аппаратную ошибку, поскольку данные, с которыми вы сравниваете, скорее всего, будут считаны из кэша. Периодическая проверка данных может быть полезной, но проверка сразу после передачи бессмысленна.

Однако вам нужно убедиться, что scp не сообщает вам, что что-то пошло не так. Должно быть сообщение об ошибке, но надежным индикатором является то, что scp возвращает ненулевой код выхода, если что-то пошло не так.

Точнее, вы знаете, что файл был передан правильно, если scp возвращает 0 (т.е. код состояния успеха). Проверка того, что статус выхода равен 0, необходима при выполнении любой команды в любом случае. Если scp возвращает статус ошибки, или если он убит сигналом, или если он никогда не умирает, потому что система падает или теряет питание во время его работы, то у вас нет никаких гарантий. В частности, поскольку scp копирует файл непосредственно в его конечное имя, это означает, что в случае сбоя системы вы можете получить неполный файл. Часть, которая была скопирована, гарантированно будет правильной, но файл может быть усеченным.

Для большей надежности используйте rsync вместо scp. Если нет других указаний, rsync записывает во временный файл и перемещает его на место после завершения работы. Таким образом, если rsync возвращает код успеха, вы знаете, что файл присутствует и является правильной, полной копией; если rsync не вернул код ошибки, то файла не будет (если только не существовало более старой версии файла, в этом случае старая версия не будет изменена).

2
17.10.2018, 17:32
1 ответ

Похоже, что файл не имеет известного типа, поэтому, скорее всего, существует дефектная файловая система.

Я рекомендую вам запустить проверку файловой системы.

Если это невозможно, попробуйте удалить файл и заново -создать его.

2
27.01.2020, 22:08

Теги

Похожие вопросы