Как я могу продолжать копирование после ошибки NT_STATUS_SHARING_VIOLATION с smbclient?

1067
Atari911

У меня есть каталог файлов, которые нужно копировать каждую ночь в качестве резервной копии.

Я использую 'smbclient' для резервного копирования файлов на компьютер с Linux, но я вижу проблему, когда, если файл заблокирован, весь процесс копирования будет прерван с ошибкой NT_STATUS_SHARING_VIOLATION.

Есть ли способ заставить smbclient продолжать копировать остальные файлы в каталоге и изящно пропускать заблокированные файлы?

0

1 ответ на вопрос

1
hololeap

Не используйте smbclient. Смонтируйте общий диск куда-нибудь, используя mount.cifsи rsyncсделайте резервную копию. Пример:

# mount.cifs //server/share /mnt/cifs # rsync -a /mnt/cifs/directory ~/backups 

Это смонтирует общий ресурс в / mnt / cifs и затем рекурсивно скопирует directoryв ~/backups/directory.

Читайте об использовании, rsyncпоскольку это мощная программа и имеет несколько ошибок.

Я могу ошибаться, но если у сервера Windows есть блокировка файла, то поведение rsync будет таким же, как у smbclient? Atari911 9 лет назад 0
Из [полуофициального источника] (https://lists.samba.org/archive/rsync/2013-January/028037.html): «Rsync продолжает работу после того, как обнаружит ошибку« Отказано в доступе ». Это должно относиться и к вашему делу. Насколько я видел, `rsync` никогда не завершается с ошибкой чтения для отдельных файлов. hololeap 9 лет назад 0
Что вы знаете, это работает как шарм. Я думаю, иногда нужно просто использовать подходящий инструмент для работы. - Единственное, что я сделал по-другому, - это использовал cygwin, чтобы получить соединение rsync / ssh с машиной Windows. Atari911 9 лет назад 1