Не копируются файлы по webdav
В этой статье помогают решить проблему, из-за которой нельзя получить доступ к веб-папке web Distributed Authoring and Versioning (WebDAV) с Windows клиентского компьютера.
Применяется к: Windows 10 — все выпуски, Windows 7 Пакет обновления 1, Windows Server 2012 R2
Исходный номер КБ: 912152
Причина
Эта проблема может возникнуть, если все следующие условия верны:
Клиентский компьютер работает с одной из следующих конфигураций:
- Windows XP с Пакет обновления 1 (SP1) и обновлением 896426
- Windows XP с пакетом обновления 2 (SP2)
- Windows XP Professional x64 Edition
- Windows 7
- Windows 8
- Windows 8.1
Папка WebDAV содержит много файлов. Например, папка содержит 20 000 или более файлов. По умолчанию Windows XP будет 1000 файлов в одной веб-папке. Этот номер основан на параметре по умолчанию для следующего подкайки реестра:
- Путь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\
- Значение: FileAttributesLimitInBytes
- Тип данных: DWORD
- Значение по умолчанию: 1 000 000 десятичных (1 МБ)
- Описание. Этот реестр определяет максимальный коллективный размер всех атрибутов файлов в одной папке, разрешенной перенаправлением WebDAV. Это ограничение атрибута охватывает все ответы PROPFIND и PROPPATCH.
Настройка учетных данных
Для того, что бы не было необходимости вводить пароль при каждом монтировании, следует сообщить имя пользователя удаленного облачного диска и его пароль утилите «davfs2». Для этого необходимо редактировать файл «/etc/davfs2/secrets» или «$HOME/.davfs2/secrets».
Эти файлы содержат секретную информацию (пароль пользователя для доступа к удаленному облачному диску), следует позаботится о их сохранности и защищенности
Файл «/etc/davfs2/secrets» является системным, доступ на чтение к нему имеет только корневой пользователь «root», поэтому хранение пароля в нём более безопасно. Файл «$HOME/.davfs2/secrets» после установки пакета «davfs2» не существует. Его следует создать, например, выполнив команды
Если файл уже существовал, то выполнение этих команд не навредит его содержимому. Далее рассматривается указание аутентификационной информации пользователя облачного диска в файле «$HOME/.davfs2/secrets».
Открыв этот файл для редактирования, например, командой
необходимо ввести строку
с указанием абсолютного пути точки монтирования вместо «$PathToMountPoint» (так же как указано в файле «/etc/fstab»), имени пользователя у поставщика облачного диска вместо «$USER» и его пароля вместо «$PASSWORD», например
Можно указывать адрес облачного диска, а не путь монтирования
где параметр «$WebDAV_Address» аналогичен описанному в файле «/etc/fstab», например,
Ввиду наличия секретной информации в этом файле, обязательно следует запретить другим пользователям системы производить его чтение, например, командой
Причина
Эта проблема может возникнуть, если все следующие условия верны:
Клиентский компьютер работает с одной из следующих конфигураций:
- Windows XP с Пакет обновления 1 (SP1) и обновлением 896426
- Windows XP с пакетом обновления 2 (SP2)
- Windows XP Professional x64 Edition
- Windows 7
- Windows 8
- Windows 8.1
Папка WebDAV содержит много файлов. Например, папка содержит 20 000 или более файлов. По умолчанию Windows XP будет 1000 файлов в одной веб-папке. Этот номер основан на параметре по умолчанию для следующего подкайки реестра:
- Путь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\
- Значение: FileAttributesLimitInBytes
- Тип данных: DWORD
- Значение по умолчанию: 1 000 000 десятичных (1 МБ)
- Описание. Этот реестр определяет максимальный коллективный размер всех атрибутов файлов в одной папке, разрешенной перенаправлением WebDAV. Это ограничение атрибута охватывает все ответы PROPFIND и PROPPATCH.
WebDAV в FAR Manager
Работать с файловым хранилищем по WebDAV можно и без подключения сетевого диска, если использовать плагин NetBox в Far Manager, при этом файлы будут доступны в самом Far Manager, но недоступны в командной строке и в других программах, например, в проводнике Windows.
Проблемы с большими файлами
Для решения этих проблем можно попробовать изменить параметры клиента, как это описано ниже, подробнее см. в статье You cannot download more than 50 MB or upload large Files when the upload takes longer than 30 minutes using Web Client in Windows 7
Но в действительности получилось закачать файл 300 МБ только командой xcopy с отключением буферизации:
Копирование закончилось успешно, при том что не получилось ни проводником Windows, ни copy /y /z /v.
Подключение WebDAV из командной строки Windows
Также можно использовать возможности командной строки – команда NET USE успешно подключает WebDAV хранилища, например, эта команда подключает папку Яндекс.Диск в виде логического диска Y:
Эта команда для подключения папки Box в виде логического диска X:
Чтобы подключить OneDrive к букве O: (значение cid берётся из адресной строки браузера в веб-итерфейсе OneDrive:
Чтобы подключить OneDrive к назначаемой автоматически букве диска:
Хотя можно выбрать автоматический выбор буквы диска (указанием звёздочки), я предпочитаю использовать фиксированные буквы — это упрощает работу с командными файлами.
Примечание: параметр /persistent:yes необязательный, он задаёт автоматическое восстановление подключения при перезагрузке компьютера, подробнее об этом см. ниже.
После подключения можно пользоваться стандартными командами для работы с файлами, например:
Обходной путь
В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в Windows.
Чтобы решить эту проблему, добавьте запись DWORD с именем FileAttributesLimitInBytes в следующий подкайка реестра:
Настройте значение реестра FileAttributesLimitInBytes до нужного размера, а затем перезапустите службу WebClient. Для этого выполните следующие действия:
Щелкните Пуск, затем Выполнить и введите regedit. Затем нажмите ОК.
Найдите и откройте следующий подраздел реестра:
В меню Правка выберите пункт Создать, а затем Параметр DWORD.
Введите FileAttributesLimitInBytes для имени DWORD и нажмите кнопку ENTER.
Щелкните правой кнопкой мыши FileAttributesLimitInBytes и нажмите кнопку Изменить.
В поле Данных Value введите значение, которое вы хотите использовать, а затем нажмите кнопку ОК. Например, если веб-папка содержит 20 000 файлов, введите 20000000 в поле данных Value.
Если значение по умолчанию составляет 1 000 000 (1 МБ), Windows в одной папке будет 1000 файлов. Фактическое максимальное количество файлов может варьироваться в зависимости от количества атрибутов файлов или свойств файла. По умолчанию служба WebClient не требует определенных свойств WebDAV. Таким образом, сервер возвращает все атрибуты файла. Перенаправление веб-Microsoft Office веб-ведрами действительно требует определенных свойств WebDAV.
Закройте редактор реестра.
Остановите и перезапустите службу WebClient. Для этого выполните следующие действия:
Производительность wevdav хранилищ
Это очень интересный вопрос для резервного копирования, потому что нам надо понимать, сколько времени будет занимать копирование файла резервной копии на сервер по webdav, ведь размер такого файла может быть и 100МБайт, и 1 ГБайт и больше.
Следующий тест показывает время выгрузки файла 188 МБ на Яндекс Диск по webdav. Подключение к интернету 100 Мбит/с, поэтому на выгрузку существенно не влияет. Для регистрации времени начала и окончания копирования используется программа nhts.
В итоге, файл 188 МБ был скопирован за 38 секунд, то есть скорость выгрузки составила 4,9 МБ/с или 40Мбит/с – хороший результат для резервного копирования. Соответственно, файл 1 ГБ будет загружен на сервер примерно за 3,5 минуты.
Теперь такой же тест для Box (он подключен к X:):
Box работает помедленнее – время копирования того же файла составило 112 секунд, и, соответственно, скорость копирования составила 1,7 МБ/с или 13,4 Мбит/с. При такой скорости время копирования 1ГБ файла составит больше 10 минут. Сам Box пишет, что для business и enterprise аккаунтов есть какая-то оптимизация для повышения скорости копирования на сервер, см. How can I optimize my upload speeds?
Понятно, что скорость копирования может меняться в зависимости от загрузки каналов связи или серверов, но видно, что Яндес Диск быстрее, и с учетом ограничения на размер файла в 250 МБ в Box предпочтительнее для резервного копирования использовать бесплатный Яндекс Диск, чем бесплатный аккаунт Box.
Автоматическое подключение сетевого диска
Возможность для автоматического подключения сетевого диска при загрузке компьютера на самом деле уже есть и включается параметром /persistent:yes (см. выше).
Недостаток этого решения состоит в том, что при загрузке компьютера делается только одна попытка подключения диска. Если на этот момент не было сетевого подключения или временно сервер был недоступен, то диск так и останется не подключенным.
Та же проблема возникает, если в автозагрузку вставить только команду подключения:
Лимит на размер файла
Исходное значение 50 000 000 байт. Задается в байтах параметром реестра:
Например, можно задать 500 000 000.
fstab
Сопоставление адреса облачного диска и точки его монтирования производится за счет информации в файле «/etc/fstab» (см. fstab, fstab). В этот файл следует внести информацию о параметрах монтирования для каждого облачного диска. Для редактирования этого файла можно выполнить команду (требуются административные привилегии)
Файл «/etc/fstab» следует дополнить строкой (дописать в самом конце)
где «$WebDAV_Address» надо обязательно заменить на веб-адрес поставщика услуги сетевого облачного диска, а «$PathToMountPoint» обязательно заменить на абсолютный путь к точке монтирования (без переменных среды, начинающихся с символа «$», путь должен начинаться с символа «/»). Опция «noauto» указывает, что монтирование производится вручную (см. ниже), в то время как альтернативная ей опция «_netdev» – что монтирование будет произведено автоматически при наличии подключенного сетевого интерфейса (см. fstab).
Наличие опции noauto или _netdev обязательно, в противном случае считается, что указана опция auto и система будет пытаться подключить сетевой диск до поднятия самого сетевого интерфейса
Например, для распространенных поставщиков облачных дисков (и соответственно подобранного названия точки монтирования) эта строка описана ниже.
Облачные диски на основе «ownCloud» (см. ownCloud, OwnCloud). Здесь есть особенность, т.к. сервис «ownCloud» может работать на вашем сервере, тогда адрес необходимо прописывать следующим образом
если вы пользуетесь общим сервером «ownCloud», то строка в «/etc/fstab» примет вид:
Еще один поставщик облачного диска, работающего на основе «ownCloud», это «OwnCube». Строка в «/etc/fstab» может иметь вид
Подключение сетевого диска WebDAV
Эта функция Windows позволяет получить доступ к файлам по WebDAV не только в файловых менеджерах (Far Manager и т.д.), но также и в командной строке и в проводнике Windows.
В Windows 7 есть встроенный веб клиент, который подключает облако WebDAV как обычный сетевой диск с присваиванием буквы. При подключении следует ввести адрес, который зависит от хранилища.
Строка подключения WebDAV для Яндекс.Диска:
Строка подключения WebDAV для Box:
Подробные инструкции с картинками: Does Box support WebDAV?
Строка подключения WebDAV для OneDrive потребует cid – это идентификатор учетной записи, его можно посмотреть в адресной строке браузера, если открыть веб-интерфейс OneDrive:
Как проверить, что хранилище подключено
Проверка того, что подключение установлено, и сервер доступен, может потребоваться в командных файлах. Её можно выполнить командой IF EXIST.
Например, cmd/bat файл для подключения WebDAV проверяет, если диск уже подключен, то сразу выходит:
Или cmd/bat файл резервного копирования проверяет перед выгрузкой, что сетевой диск доступен:
Симптомы
Вы не можете получить доступ к веб-папке WebDAV с Windows клиентского компьютера. При попытке сделать это вы можете испытывать следующие симптомы:
\\server\webfolder\folder недоступен. Возможно, у вас нет разрешения на использование этого сетевого ресурса.
Обратитесь к администратору этого сервера, чтобы узнать, есть ли у вас разрешения на доступ.Устройство, подключенное к системе, не работает.
ошибка 31 = ERROR_GEN_FAILURE
Диск не отформатирован
Windows не может читать с этого диска. Диск может быть поврежден, или он может использовать формат, который не совместим с Windows.
Кроме того, каждый раз, когда вы пытаетесь получить доступ к веб-папке, потребление памяти увеличивается для процесса Svchost.exe, который содержит службу WebClient. Это увеличение может быть приблизительно 20 мегабайт (МБ) на каждые 20 000 файлов в веб-папке. Память не будет выпущена при остановке службы WebClient. Память будет освобождена только в том случае, если компьютер перезапустится.
Таймаут
Исходное значение 1800 секунд или 30 минут, поэтому операции более 30 минут прерываются. Значение таймаута задается в секундах параметром реестра:
В статье рекомендуется значение 3600, т.е. 3600 секунд или один час.
Подключение сетевого диска с проверкой и повтором
Чтобы сделать более надёжное решение, использую cmd/bat файл с проверкой результата и повтором попытки:
В случае ошибки NET USE попытка подключения повторяется через 1 минуту. Задержка делается с помощью ping, подробнее см. Как сделать задержку в командном файле.
Этот командный файл можно запускать вручную или через автозагрузку.
Чтобы не мешало чёрное окно bat файла, можно спрятать его путём запуска через wsh скрипт, см. Скрыть консольное окно.
На стандартный вывод ничего не пишет. После чего перестало работать, не знаю, возможно и не начинало работать. Нагуглить удалось только Dolphin webdav «not support the parameter» (cast killzone06 ), но не знаю, по теме ли.
Если в URL не указывать порт,
Вроде бы не первый год работаю с различными облачными хранилищами по WebDAV, как подключая их с винды, так и с серверов под Linux. Вчера наткнулся на какую-то чертовщину, думал утром разберусь, но не получилось - все воспроизводится.
Начну с конца без предыстории, только по фактам. Одно и то же облачное хранилище смонтировано пользователем root абсолютно одинаковой командой от имени ограниченного юзера (-o uid=…,gid=…) на 2 разных машинах Debian и из под винды плагином к Total Commander (встроенный функционал винды не люблю).
Все каталоги хранилища читаются. Файлы из него я могу свободно копировать на любую машину. Могу удалять или создавать пустые каталоги.
Как только дело доходит до копирования файла с машины в облако, на проблемном сервере вылазит Input/output error (5) (mc). На другом сервере файлы спокойно пишутся в произвольную директорию, с винды тоже работает нормально. Обращаться в техподдержку облака бесполезно, там скажут что нужно скачать их высер и забить им побольше своей свободной RAM.
На проблемной машине davfs2 1.5.4-2+b1, сервер настраивался в январе. На той где работает davfs2 1.4.6-1.1+wheezy1 (старая машина, конфигурация стабильна несколько лет). Все бы можно было списать на то что в какую-то версию добавили свежий баг, но у меня есть еще один сервак на котором активно используются облачные хранилища (только под бекап), так вот его я устанавливал пару месяцев назад - 1.5.4-2+b1, то есть ТА ЖЕ версия…
Вот, собственно, и вся чертовщина. Ось одинаковая, команды и права в точности совпадают.
Пробовал ставить debug most, но мало что понял. Идет при копировании файла запрос LOCK, он возвращает 201 Created, следом deleting node 0x…, ответ RET Input/output error. Может кто сталкивался?
Всем салют, есть примонтированный каталог /home/user/webdav к webdav owncloud Туда перестали нормально заливаться файлы больше 10 МБ, т.е. когда заливаешь файл они почти сразу попадают в /home/user/webdav/lost+found
Что за магия то?
Добрый день ЛОР. Собственно разыскиваю плеер могущий в webdav для интеграции с nextcloud, желательно на qt.
Debian Buster + Apache 2.4.38. Из коробки примерно то же самое, что и с nginx. При подключении сетевого диска не копируются файлы на сервер, а так же если открыть файл в MS Office, то нет возможности сохранить в нем изменения(стало лучше чем c nginx - открывает не в режиме чтения, но при попытке сохранить вываливает ошибку). Конфиг рабочий - например на той же винде cyberduck работает корректно. Очевидно, что проблема в виндовом клиенте. Так вот собственно вопрос: есть ли возможность закостылить все это на Apache, как в статье, написанной для nginx? Спасибо.
Подскажите, пожалуйста, можно ли на сегодняшний день победить встроенный webdav-клиент Винды 10, чтобы он нормально работал с webdav-ресурсом, построенным на Nginx-сервере?
Проводник не может ни нормально создать папку, ни удалить папку, ни загрузить файлы.
Нашел пару хаков. Тык1 и тык2
Папки после них теперь можно удалить. Создаётся только «Новая папка». Файлы заливать по-прежнему нельзя.
Если нельзя, то посоветуйте, пожалуйста, какой-нибудь нормальный виндовый клиент, который может создать webdav-шару отдельным диском.
Задача: в сумме есть около 100 Гб контента. Контент этот в большинстве своём картинки и электронные письма, заархивировать его нельзя — просто не хватит места на диске.
Нужно этот контент скопировать в хранилище Hetzner BX 20.
Вопрос: Как это сделать наилучшим образом? С учётом того, что имеется много мелких файлов и запихнуть их в один архив не представляется возможным.
Подключаю через прослойку WebDavMailRuCloud. Монтирую через fstab:
Проблема в том, что файловые менеджеры считают подключение локальным и начинают подгружать всё подряд. Из-за этого всё наглухо зависает пока не прогрузится.
Другие варианты подключения (FUSE, MARC-FS) работают быстрее (система понимает, что это удалённое подключение), но имеют свои минусы (большие файлы скачать/закачать не получается из-за обрывов соединения, нельзя манипулировать ФС через терминал и использовать консольные утилиты).
Также пробовал крутить настройки davfs2, но эффекта не заметил.
Какие ещё варианты есть? Или может как-нибудь можно подкрутить fstab, чтобы система понимала, что это удалённое подключение?
Поставил nextcloud, все ничего, но автосинхронизация с моих андроид устройств не срабатывает, багу клиента пара лет уже оказывается.
Мне много не надо - хочу односторонне синхронизировать папку на телефоне с файлопомойкой по webdav. Платиновые решения есть?
Решил вопрос установкой syncthing :3
Собственно сабж. Так как протокол WebDAV на ЯД де-факто принял ислам ( Яндекс Диск и Webdav (комментарий) ), нужно подыскать что-то другое для хранения бэкапов.
Гугло диск, мега и дропбокс больно уж кусаются по ценам ~10$ в месяц.
Кто что может что посоветовать? Желательно поддерживающее какой-нибудь гуманоидный файловый протокол.
Есть webdav-шара, нужно залить в неё полтеррабайта мелкими файлами. davfs2 и cp -r — ну прямо долго. Тестил на больших файлах — входной канал на шаре нормальный. Что посоветуете?
Имеется сервер на Ubuntu с Nextcloud на борту. Сам Nextcloud через браузер работает нормально, как внутри сети, так и через интернет, все порты проброшены. При подключении сетевого диска через WebDav через интернет, диск подключается, все файлы отображаются, все нормально. Внутри сети происходит какая-то аномалия, подключение диска происходит, но содержимое не отображается. При копировании файлов в диск, они сначала отображаются, но после завершения копирования тоже исчезают, папка пуста. Если смотреть файлы через web морду, все на месте + появились те, которые копировались.
Duplicati не хочет подключаться к диску yandex:
Пароли естественно проверял, в том числе и копирую из одного источника в вэб-интерфейс и Duplicati.
Deja-dup работает по WebDAV с диском без проблем.
скачивает оттуда только index.html
Периодически слетают пароли от google аккаунтов в chromium. Посоветовали отказаться от gnome-keyring и установить программы для сохранения паролей: Удалил пакеты: gnome-keyring seahorse. Пароли от аккаунтов google все равно сохраняются. Насколько я понимаю в папке:
Возникла другая проблема, когда я подключаю облачные хранилища через webdav, файловый менеджер thunar. Пароли не сохраняются после перезагрузки хотя стоит галочка запомнить навсегда. Насколько я понимаю они должны хранится в связке ключей:
которые я удалил. Есть ли какое-то решение проблемы для chromium и webdav через thunar без использования gnome-keyring? Заранее благодарен за ответ.
Доброго дня, не понятная проблема: Почему то в win10 перестало работать после того как переустановил nextcloud c указанием пути отличного умолчанию(/opt/nextcloud/), виндовый клиент 3 раза просит вести пароль а потом пишет «ошибка доступа» (при стандартном размещении директории /var/www/nextcloud/data подключается) нужно какие то права выдавать?
Прошу Вас поделиться опытом или идеями , как организовать резервное копирование с CentOS 7 на Yandex.Disk ?
До сих пор удачно использовал rclone sync ,но сейчас поставлена задача делать частые архивы, примерны объем которых 30 гб в сутки.
rclone copy ? Но как удаленно в скрипте прописать удаление лишни копий на удаленной машине? возможно ли?
Бэкапить нужно с северов VDS. Поэтому место под кэш не будет и под sync тоже.
Использование davfs с его нагрузкой на сервер и кэшем затруднительно.
Консольный вариант yandex.disk тоже только синхронизирует.
Есть у rclone тоже режим rclone --vfs-cache-mode full --daemon но он тоже кэширует ,толком не изучил еще этот режим..
Разбираюсь с webdav, настроил апач, зашёл через dolphin, накачал файлов, насоздавал папок, всё работает. Удаляю папку, жму обновить - а она снова на месте. В access.log такое:
Добрый день! Apache настроен в качестве сервера webdav, не работает по этому протоколу monosnap при попытке загрузить картинку (хотя тот же monosnap на windows работает нормально). Ошибка при загрузке такая Error Domain=Com.MattRajca.davkit.error Code=404 *(null)*.
Monosnap 5.5.5 OS macos 10.4 Apache запущен на Centos 7
Конфиг загрузил во вложении. Подскажите пожалуйста как решить проблему?
User apache Group apache
LogFormat «%h %l %u %t \»%r\" %>s %b" common LogFormat «%h %l %u %t \»%r\" %>s %b \«%i\» \«%i\»" combined LogFormat «%v - %h %l %u %t \»%r\" %>s %b \«%i\» \«%i\»" combined-vhost
LogFormat «%i -> %U» referer LogFormat «%i» agent
ServerSignature Off ServerTokens Prod
AddType application/octet-stream mht
Require all denied
Alias /monosnap /var/www/webdav
Alias /i /var/www/webdav
DAV on DavDepthInfinity on
В общем краткое описание проблемы
Имелся nextcloud 13 ветки с авторизацией в ldap.
Обслуживало все это nginx+fpm
Им пользовалось ~50 человек монтируя через webdav
Системы у пользователей 3 видов
- debian 9 через davfs2
- win7 стандартными средствами
- win10 стандартными средствами
В такой конфигурации пользователи debian работали как белые люди , пользователи win имели морально-нравственные страдания так как все работало ооочень медленно и печально
И вот прилетело обновление nextcloud до 14.0.4.Обновились. и .. Пользователей win порадовало увеличение скорости до обычного состояния, все «летает» все довольны.
А вот пользователи debian выгребли по полной.
Если монтировать через davfs2 дикие тормоза в среднем 4-7 секунд на операцию.
- вывести листинг каталога 5с
- Зайти в каталог 7с
- Удалить файл 7-10с
- и т.д.
Шаманства с настройками сервера непомогают. Винда работает идеально, веб интерфейс тоже.
И самое интересное, если в том же Dolphin открыть как webdavs://hostname/remote.php/webdav/ то все тоже работает шустро, но есть проблемы с постоянным запросом логина и пароля.
Вопрос относительно простой, что крутить в davfs2 что бы добится такой же скорости как в dolphin через webdavs:// ? Или где искать разницу ?
В этой статье помогают решить проблему, из-за которой нельзя получить доступ к веб-папке web Distributed Authoring and Versioning (WebDAV) с Windows клиентского компьютера.
Применяется к: Windows 10 — все выпуски, Windows 7 Пакет обновления 1, Windows Server 2012 R2
Исходный номер КБ: 912152
Действия с хранилищем в командном файле
Возможные проблемы и их решение
При появлении проблемы подключения важно определить, какую именно ошибку сообщает программа – чтобы делать правильные действия для её устранения.
Бэкап с помощью rsync(терминал)
Способ, использующий для резервного копирования программу rsync позволяет сделать копию любого файла на вашем компьютере, в том числе файлов настроек и системных файлов. Для настройки необходимо:
Создать скрипт, выполняющий резервное копирование. Файл в любом удобном для вас месте 1) со следующим содержимым:
данный скрипт использует файл ~/backup.conf добавляя в исключения все записанные в нем каталоги. Файл ~/bin/backup.conf должен иметь вид:
Данный скрипт будет пытаться сделать резервную копию абсолютно всей файловой системы, поэтому, ввиду ограниченности пространства сетевого хранилища, уделите особое внимание указанию папок-исключений.
На момент написания статьи наблюдаются проблемы в скорости работы rsync при обращении к Яндекс.Диск, ориентировочно из-за медленного расчета контрольной суммы на стороне сервера, поэтому делать резервные копии большого объема пока нежелательно.
Добавить созданный скрипт на ежемесячное выполнение в cron от пользователя root
Если у вас возникли малейшие проблемы при выполнении какой либо части из данной инструкции, не поленитесь, сообщите в теме обсуждения, тем самым вы поможете себе- вам подскажут как действовать и другим- авторы поправят статью в соответствии с вашими замечаниями. Если нашли в статье неточность или знаете сами как решить проблему- не стесняйтесь, входите в ВИКИ под своим логином и паролем от форума и смело правьте статью.
Существенная проблема данного подхода к монтированию облачных дисков состоит в том, что файловые менеджеры («Nautilus», «Dolphin» и т.п.) считают такие файлы и папки локальными, как результат – пытаются сгенерировать для них эскизы и получить другую медиа-информацию, что приводит к скачиванию этих файлов, а это может затянуться на некоторое время, в течение которого файловый менеджер будет недоступен, а канал связи загружен. Решить эту проблему можно отключив все эскизы в Вашем файловом менеджере или использовать другой файловый менеджер, например «MC»
Инструкция по подключению к облачному хранилищу «4shared» по «WebDAV» What is WebDav and how to use it
Инструкция по подключению к облачному хранилищу «IDriveSync» по «WebDAV» IDriveSync join hands with WebDAV
Облачные хранилища данных становятся всё более востребованными, как среди частных пользователей, так и среди компаний. При этом некоторые интернет сервисы хранения файлов предоставляют возможность доступа к своему облаку по протоколу WebDAV (Web Distributed Authoring and Versioning).
Преимущества доступа по webdav по сравнению с веб доступом:
- работа с файлами в автоматическом режиме (скачивание/закачивание bat файлами и скриптами JS/VBS/PS), то есть, в первую очередь, это означает возможность автоматического сброса резервных копий на интернет хранилище
- подключение облака как сетевого диска (обычного network drive) с присваиванием буквы логического диска (E:, F: и т.д.), другими словами, возможность работы с облачными файлами из обычных программ (офисные пакеты, графические редакторы и т.п.)
- возможность заливать большие файлы (обычно веб интерфейс позволяет закачивать в хранилище файлы до 2 ГБ). Здесь надо отметить, что бесплатные аккаунты часто ограничены в размере файлов по сравнению с платными, например, на Box бесплатно можно хранить файлы размером не более 250 МБ (на Business аккаунтах размер файла может составлять до 5 ГБ, на Enterprise вроде до 15 ГБ); правда, с большими файлами есть и другие проблемы, но об этом ниже
Статья расскажет о возможностях использования WebDAV в различных программах, особенностях подключения вручную и из командной строки/bat файлов, распространенных проблемах и их решениях.
Ошибка 67 — не найдено сетевое имя
Ошибка 67 означает, что не удалось найти сервер по указанному в команде сетевому имени. В английской версии Windows эта ошибка описывается как «The network name cannot be found».
В первую очередь необходимо проверить, правильно ли в команде набран протокол и адрес webdav сервера, например, для Яндекс.Диска должно быть:
Во-вторых, проверить разрешение сетевого имени – сервер должен быть доступен:
Если сервер неизвестен или не отвечает, то явно что-то не так с интернет подключением.
Если сетевое имя сервера указано корректно, сервер успешно пингуется, но подключение с правильными параметрами всегда завершается ошибкой 67, то причиной проблемы является блокировка подключения со стороны локальной сети. Например, у меня на работе происходит именно так, потому что доступ к интернет хранилищам по WebDav заблокирован администраторами намеренно, наверное, чтобы предотвратить слив информации на сторону. Чтобы убедиться, что причина именно в этом, необходимо попробовать подключение с точно такими же параметрами, но из другой сети, лучше из домашней, потому что операторы обычно не блокируют WebDAV коммуникации. Если проверка подтвердила, что локальные админы блокируют подключение, то решить проблему можно только через них.
Поэтому при этой ошибке я проверяю, что пароль введён правильно и находится между адресом сервера и параметром /user .
Также сложность может возникнуть, если пароль содержит спецсимволы, имеющие особое значение в командных cmd/bat файлах, потому что эта часть строки может быть интерпретирована неправильно. Чтобы это проверить, можно попробовать временно указать звёздочку вместо пароля, тогда программа запросит пароль после запуска. Если подключение при вводе пароля по запросу сработает, то надо проверить пароль на наличие недопустимых символов. Например, у меня один из паролей содержал символ амперсанда ‘&’, и это приводило к ошибке 1244. Обойти ошибку удалось, заключив пароль в кавычки. Но если в пароле есть символ кавычек, то это обойти, скорее всего, не удастся – лучше изменить пароль, исключив из него кавычки.
Настройка монтирования
Бекап с помощью Déjà Dup
Особенность программы Déjà Dup заключается в том, что она поддерживает работу по webdav. Минусы данного способа резервного копирования - файлы на сервере невозможно прочесть без данной программы и копировать можно только каталоги своего пользователя Для работы необходимо:
настроить папки для резервного копирования (при необходимости указать папки-исключения);
настроить расписание автоматического резервного копирования (если необходимо);
Местоположение резервной копии: WebDav
Папка: указать папку на Яндекс.Диск (например: /backup)
для запуска необходимо нажать «Создать резервную копию»
Симптомы
Вы не можете получить доступ к веб-папке WebDAV с Windows клиентского компьютера. При попытке сделать это вы можете испытывать следующие симптомы:
\\server\webfolder\folder недоступен. Возможно, у вас нет разрешения на использование этого сетевого ресурса.
Обратитесь к администратору этого сервера, чтобы узнать, есть ли у вас разрешения на доступ.Устройство, подключенное к системе, не работает.
ошибка 31 = ERROR_GEN_FAILURE
Диск не отформатирован
Windows не может читать с этого диска. Диск может быть поврежден, или он может использовать формат, который не совместим с Windows.
Кроме того, каждый раз, когда вы пытаетесь получить доступ к веб-папке, потребление памяти увеличивается для процесса Svchost.exe, который содержит службу WebClient. Это увеличение может быть приблизительно 20 мегабайт (МБ) на каждые 20 000 файлов в веб-папке. Память не будет выпущена при остановке службы WebClient. Память будет освобождена только в том случае, если компьютер перезапустится.
Монтирование через Nautilus
Если вы создали точку монтирования в папке «/media», то на левой панели файлового менеджера Nautilus будет доступна кнопка, по нажатию на которой будет происходить монтирование\размонтирование, как с обычной флешкой.
Обходной путь
В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в Windows.
Чтобы решить эту проблему, добавьте запись DWORD с именем FileAttributesLimitInBytes в следующий подкайка реестра:
Настройте значение реестра FileAttributesLimitInBytes до нужного размера, а затем перезапустите службу WebClient. Для этого выполните следующие действия:
Щелкните Пуск, затем Выполнить и введите regedit. Затем нажмите ОК.
Найдите и откройте следующий подраздел реестра:
В меню Правка выберите пункт Создать, а затем Параметр DWORD.
Введите FileAttributesLimitInBytes для имени DWORD и нажмите кнопку ENTER.
Щелкните правой кнопкой мыши FileAttributesLimitInBytes и нажмите кнопку Изменить.
В поле Данных Value введите значение, которое вы хотите использовать, а затем нажмите кнопку ОК. Например, если веб-папка содержит 20 000 файлов, введите 20000000 в поле данных Value.
Если значение по умолчанию составляет 1 000 000 (1 МБ), Windows в одной папке будет 1000 файлов. Фактическое максимальное количество файлов может варьироваться в зависимости от количества атрибутов файлов или свойств файла. По умолчанию служба WebClient не требует определенных свойств WebDAV. Таким образом, сервер возвращает все атрибуты файла. Перенаправление веб-Microsoft Office веб-ведрами действительно требует определенных свойств WebDAV.
Закройте редактор реестра.
Остановите и перезапустите службу WebClient. Для этого выполните следующие действия:
В данной статье рассмотрены основы применения утилиты «davfs2» (см. davfs2) для монтирования сетевых облачных хранилищ (дисков) по протоколу «WebDAV» (см. WebDAV) в среде ОС «Ubuntu».
Облачные хранилища (диски) находят все большее практическое применение. В то время, как многие поставщики подобных услуг предлагают свое программное обеспечение для доступа к своим сетевых ресурсам, существует широко распространенный протокол, для передачи информацию между удаленным облачным хранилищем и локальной ЭВМ пользователя – «WebDAV» (см. WebDAV). Применение такого протокола также требует специализированного программного обеспечения, однако, оно, зачастую, легко доступно.
В ОС «Ubuntu» имеется поддержка монтирования сетевых облачных хранилищ (дисков) с применением графического интерфейса программы-файлового-менеджера «Nautilus», который использует утилиту «GVFS» (см. GVFS). Однако, такой подход имеет ряд недостатков:
Примонтированный облачный диск доступен только для программ использующих графическую оболочку Gnome/Unity.
Альтернативой использованию пакета «GVFS» является утилита поставляемая в пакете «davfs2» (см. davfs2). Эта утилита позволяет монтировать облачный диск подобно монтированию обычного носителя данных – в постоянную локацию, что делает такой диск доступный для любой программы имеющей доступ к ФС ОС. В свою очередь, такой метод тоже имеет свой недостатки:
Файловые менеджеры считают папки примонтированные с помощью «davfs2» локальными и будут пытаться получить информацию и сгенерировать эскизы для медиа-файлов, что требует скачивания этих файлов. А это требует времени в течении которого файловый менеджер будет недоступен, а интернет-соединение загружено передачей данных.
Ввиду того, что утилита «davfs2» из одноименного пакета не входит в базовую комплектацию ОС «Ubuntu», следует провести предварительную установку данного пакета. Выполнить это можно, например, командой в терминале
По завершении установки следует выполнить переконфигурирование пакета, например, командой
выбрав пункт «Да», для разрешения монтирования облачных хранилищ непривилегированным пользователям ОС. Вместо этого можно просто выполнить команду
Также, для удобного монтирования, без необходимости ввода пароля корневого пользователя (root), необходимо добавить пользователя в группу «davfs2» ( - это точно для этого?). Например, если планируется добавить данного пользователя, следует выполнить команду.
Если необходимо добавить другого пользователя ОС, то «$USER» следует заменить на имя пользователя в ОС, которому будет дозволено монтировать облачные диски посредством «davfs2».
Копирование файлов по WebDAV
Из-за буферизации на стороне клиента в стандартной COPY или в проводнике возможна потеря данных, поэтому рекомендуется использовать XCOPY с отключением буферизации и с контролем размера.
Создание точки монтирования
Монтирование возможно только в существующую папку, создать которую можно, например, командой
если для создания папки требуются административные привилегии. Где «$PathToMountPoint» следует заменить допустимым именем в ФС ОС «Ubuntu». Например, «$PathToMountPoint» может принимать следующие значения
«$HOME/CloudDisk» – точка монтирования размещена в домашней папке пользователя и под-папке «CloudDisk».
«/media/CloudDisk» – точка монтирования размещена в системной папке «/media» и под-папке «CloudDisk». Для создания требуются административные привилегии. Рекомендуется создавать точку монтирования в папке «/media», потому что при этом облачное хранилище будет доступно к монтированию\размонтированию через Nautilus.
Во избежание конфликтов, такую папку (естественно с другим именем) следует создавать для каждого удаленного облачного диска, который планируется использовать.
Автоматическое монтирование
Опция «noauto» не позволяет диску примонтироваться автоматически при старте системы. Для автоматического монтирования необходимо воспользоваться опцией «_netdev» (см. fstab), в таком случае попытка примонтировать диск будет произведена при загрузке системы, до входа под конкретным пользователем. Для этого, учетные данные доступа к облачному диску должны хранится в «/etc/davfs2/secrets» (см. Настройка учетных данных). Такой облачный сетевой диск будет монтироваться для всех пользователей ОС.
Если же диск должен монтироваться только для конкретного пользователя, то наряду с указанием опции «noauto» в «/etc/fstab» следует создать подобный скрипт
и добавить его в автозагрузку этого пользователя.
Проверка монтирования
После завершения данных манипуляций целесообразно проверить монтирование, выполнив команду «mount»
где «$PathToMountPoint» точка монтирования облачного диска описанная в «/etc/fstab». Или
где $WebDAV_Address адрес для доступа к облачному диску, прописанный в «/etc/fstab».
Отмонтировать такой диск можно командой «umount»
Читайте также: