Rsync и Cygwin на основе резервного копирования на Windows дает разрешение отказано ошибки

фон

Я использую rsync / cygwin в Windows 10 для резервного копирования всех моих локальных файлов (источник) на внешний жесткий диск (место назначения). Я использовал это руководство http://www.howtogeek.com/175008/the-non-beginners-guide-to-syncing-data-with-rsync/ как учебник по использованию rsync / cygwin для резервного копирования. Примечание: мой внешний жесткий диск отформатирован в NTFS.

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

мой метод резервного копирования с помощью rsync / cygwin

на Windows, я создал резервную копию.bat-файл с моими командами rsync, поэтому я могу быстро подключить свой внешний диск и начать резервное копирование. Ниже приведен пример моей резервной копии.bat-файл, где C-мой локальный диск, А E-мой внешний диск.

pause
rsync -avhP --delete --log-file="/cygdrive/C/Users/MyUsername/rsync-backup-log.txt" "/cygdrive/C/Users/MyUsername/Folder A" "/cygdrive/E/Backup/"
rsync -avhP --delete --log-file="/cygdrive/C/Users/MyUsername/rsync-backup-log.txt" "/cygdrive/C/Users/MyUsername/Folder B" "/cygdrive/E/Backup/"
rsync -avhP --delete --log-file="/cygdrive/C/Users/MyUsername/rsync-backup-log.txt" "/cygdrive/C/Users/MyUsername/Folder C" "/cygdrive/E/Backup/"
pause

чтобы не иметь проблем с разрешениями, я отредактировал мой C:cygwin64etcfstab файл ниже:

none /cygdrive cygdrive binary,posix=0,user,noacl 0 0

проблемы

проблема, с которой я сталкиваюсь, заключается в том, что я часто вижу ошибки "отказано в разрешении (13)". Ниже приведена выдержка из журнала rsync. Обратите внимание, что резервное копирование некоторых файлов и папок выполняется без ошибок. Тем не менее, есть некоторые файлы/папки, которые дают ошибки разрешений.

...
2016/12/17 15:57:04 [2968] >f+++++++++ Documents/Subfolder A/IMG_5678.JPG
2016/12/17 15:57:04 [2968] >f+++++++++ Documents/Subfolder A/IMG_5679.JPG
2016/12/17 15:57:04 [2968] >f+++++++++ Documents/Subfolder A/IMG_5680.JPG
2016/12/17 15:57:04 [2968] >f+++++++++ Documents/Subfolder A/IMG_5681.JPG
2016/12/17 15:57:04 [2968] >f+++++++++ Documents/Subfolder A/IMG_5682.JPG
2016/12/17 15:57:04 [2968] >f+++++++++ Documents/Subfolder A/IMG_5996.JPG
...
2016/12/17 15:58:03 [6052] >f+++++++++ Folder B/Subfolder C/FileD.docx
2016/12/17 15:58:03 [6052] cd+++++++++ Folder B/Subfolder C/Subfolder E/
2016/12/17 15:58:04 [6052] >f+++++++++ Folder B/Subfolder F/FileG.docx
2016/12/17 15:58:04 [6052] rsync: mkstemp "/cygdrive/E/Backup/Folder B/Subfolder C/.FileD.docx.dBBzQZ" failed: Permission denied (13)
2016/12/17 15:58:07 [6052] rsync: mkstemp "/cygdrive/E/Backup/Folder B/Subfolder F/.FileG.docx.8DkCUR" failed: Permission denied (13)
2016/12/17 15:58:07 [6052] rsync: recv_generator: mkdir "/cygdrive/E/Backup/Folder B/Subfolder H/Subfolder J" failed: Permission denied (13)
2016/12/17 15:58:07 [6052] *** Skipping any contents from this failed directory ***
2016/12/17 15:58:07 [6052] >f+++++++++ Folder B/Subfolder H/FileK.xlsx
2016/12/17 15:58:07 [6052] cd+++++++++ Folder B/Subfolder H/Subfolder J/
2016/12/17 15:58:07 [6052] rsync: mkstemp "/cygdrive/E/Backup/Folder B/Subfolder H/.FileK.xlsx.WQa396" failed: Permission denied (13)
2016/12/17 15:58:07 [6052] sent 91.52M bytes  received 1.79K bytes  9.63M bytes/sec
...

устранение неисправностей

для устранения неполадок, я перешел к одной из папок с ошибкой разрешения в Windows Проводник (на внешнем жестком диске). Ниже приведен скриншот диалогового уведомления, которое я получаю. Когда я нажимаю "продолжить", чтобы получить разрешение, папка открывается, но она пуста. При повторном запуске команды rsync (backup.bat), файлы в этой папке правильно резервное копирование без ошибок.

скриншоты:

enter image description here

27
задан Pierre.Vriens
15.03.2023 7:26 Количество просмотров материала 3666
Распечатать страницу

2 ответа

мне удалось найти решение, которое работает для меня. Я не уверен, что это гарантированный правильный подход.

чтобы избежать проблем с разрешениями, мне нужно добавить следующее в мою команду rsync:--no-p --chmod=ugo=rwX. Таким образом, моя команда rsync backup должна выглядеть следующим образом:

rsync -avhP --no-p --chmod=ugo=rwX --delete --log-file="/cygdrive/C/Users/MyUsername/rsync-backup-log.txt" "/cygdrive/C/Users/MyUsername/Folder A" "/cygdrive/E/Backup/"

кредит это решение переходит на следующий ответ в аналогичной должности: https://superuser.com/a/69764/607501

2
отвечен Zythyr 2023-03-16 15:14

как вы уже указали, --no-p с --chmod=ugo=rwX установит все биты разрешения.

однако, если вы хотите более тонкий контроль над разрешениями для нового каталога, вы можете использовать другие аргументы "за"--chmod=

руководство, которое вы связали на самом деле имеет пример этого (возможно, были добавлены после того, как вы использовали его):--chmod=Du=rwx,Dgo=rx,Fu=rw

man rsync содержит много информации об этой опции.

2
отвечен Robert 2023-03-16 17:31

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх