не удается rsync на удаленный сервер, тогда как cp работает

Вопрос или проблема

Я хочу передать файл с локального компьютера на смонтированный удаленный серверный диск с помощью rsync. Однако я получаю следующую ошибку:

rsync -ahP ./fastp.html /server/folder1/nobackup/user/metagenomics/analysis

отправка инкрементального списка файлов
fastp.html
         32,77K   6%    0,00kB/s    0:00:00  rsync: [receiver] mkstemp "/server/folder1/nobackup/user/metagenomics/analysis/.fastp.html.wKvWKq" не удалась: Нет такого файла или каталога (2)
        492,75K 100%  438,67MB/s    0:00:00 (xfr#1, to-chk=0/1)
ошибка rsync: некоторые файлы/атрибуты не были переданы (см. предыдущие ошибки) (код 23) в main.c(1338) [sender=3.3.0]

Если я запускаю cp ./fastp.html /server/folder1/nobackup/user/metagenomics/analysis, файл копируется правильно. Если я rsync в другую смонтированную удаленную директорию, все работает нормально.

Другие темы предполагают, что идет другая работающая rsync инстанция (я запустил killall rsync), или что есть нестатические файлы, но это не так в этом случае.

Также не должно быть проблем с подключением, так как cp работает нормально, и я могу просто получить доступ к смонтированному серверному диску в моем проводнике.

Есть идеи, как это решить? (Я предпочел бы rsync вместо cp, так как это связано с многими большими файлами данных)

Ответ или решение

Решение проблемы с использованием rsync для передачи файлов на удаленный сервер

При попытке использовать утилиту rsync для передачи файла с локального компьютера на монтированный удаленный диск вы сталкиваетесь с ошибкой, которая указывает на невозможность создания временного файла. В вашем случае, команда выглядит следующим образом:

rsync -ahP ./fastp.html /server/folder1/nobackup/user/metagenomics/analysis

Описание проблемы

Вы получаете сообщение об ошибке, которое содержит следующее:

rsync: [receiver] mkstemp "/server/folder1/nobackup/user/metagenomics/analysis/.fastp.html.wKvWKq" failed: No such file or directory (2)

Это сообщение подразумевает, что rsync не может создать временный файл в указанной директории, что приводит к ошибке кода 23 – это значит, что некоторые файлы или атрибуты не были переданы.

Сравнив результаты использования rsync и cp, вы отметили, что команда cp работает без проблем, и файлы копируются успешно.

Потенциальные причины проблемы

  1. Проблемы с доступом: Убедитесь, что у вас есть необходимые права на запись в каталоге /server/folder1/nobackup/user/metagenomics/analysis. В случае, если доступ ограничен, rsync не сможет создать временные файлы.

  2. Отсутствие каталога: Проверьте, существует ли директория назначения. Возможная ошибка сопоставления пути может привести к тому, что rsync не найдет указанный каталог.

  3. Монтирование файловой системы: Убедитесь, что монтирование происходит с правильными параметрами. Некоторые системы монтирования могут иметь ограничения на создание временных файлов, которые могут влиять на работу rsync.

  4. Режимы монтирования: Проверьте параметры монтирования удаленного диска с помощью команды mount для проверки, установлен ли noexec или другие параметры, которые могут ограничивать выполнение операций записи.

  5. Проблемы с версией rsync: Возможно, ваш rsync устарел или имеет ошибки. Попробуйте обновить его до последней версии.

Рекомендации по исправлению ошибки

  1. Проверка прав доступа:

    Используйте команду:

    ls -ld /server/folder1/nobackup/user/metagenomics/analysis

    чтобы проверить права директории. Хорошей практикой будет также протестировать доступ с помощью:

    touch /server/folder1/nobackup/user/metagenomics/analysis/testfile

    Если команда завершится успешно, права на запись присутствуют.

  2. Проверка существования каталога:

    Убедитесь, что каталог существует:

    ls /server/folder1/nobackup/user/metagenomics/analysis
  3. Проверка параметров монтирования:

    Выполните команду mount и убедитесь, что параметры монтирования соответствуют вашим требованиям. Если вы видите noexec, возможно, это нужно изменить.

  4. Увеличьте уровень детализации вывода rsync:
    Добавьте переключатель -vv для более подробного вывода, что может помочь диагностировать проблему:

    rsync -ahP -vv ./fastp.html /server/folder1/nobackup/user/metagenomics/analysis
  5. Обновление утилиты rsync:

    Выполните обновление до последней версии, если ваша версия устарела или вызывает проблемы.

Выводы

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

Если вы продолжаете сталкиваться с проблемами, попробуйте обратиться к системному администратору или на специализированные форумы для получения дополнительной помощи.

Оцените материал
Добавить комментарий

Капча загружается...