Dropbox не синхронизирует – решение проблемы

Многие наверное давно и успешно пользуются известнейшим сервисом “онлайн-флешки” – Dropbox – для резервного хранения или синхронизации своих данных между несколькими машинами. Сервис конечно не лишен своих недостатков, чем с успехом пользуются конкуренты типа SugarSync, который заявляет, что лишен минусов Dropbox. Так это или нет – мне проверить не удалось, у SugarSync до сих пор нет клиента под Linux (точнее есть неофициальный, написанный на php, но устанавливать ради него php я не стал).

Как бы то ни было, работа с Dropbox до недавних пор у меня никаких сложностей не вызывала. Невозможность указать разные “корневые” папки дляс синхронизации я обходил с помощью монтирования нужных директорий внутрь корневой директории Dropbox, дописав в fstab следующую строку: ~/Devel ~/Dropbox/Devel none bind,auto 0 0. Незащищенность передачи и отсутствие встроенного шифрования лего преодолеваются путем использования зашифрованной ФС в целом или внутри папки Dropbox. Плюсы у Dropbox тоже есть – сервис старый и обзавелся клиентами для всех популярных ОС и платформ (популярный под Android файловый менеджер ES File Explorer имеет встроенную поддержку Дропбокс например).

Но внезапно Dropbox перестал синхронизировать мои файлы на Linux-машине. Если остановить синхронизацию и снова включить – процесс проходит нормально, тот же эффект вызывается перезапуском клиента, а вот синхронизация “на лету” работать перестала. Лечится это довольно просто – нужно увеличить значение переменной max_user_watches, например выполнив из-под рута такую команду: echo 30000 > /proc/sys/fs/inotify/max_user_watches, после чего перезапустить клиент Dropbox. Если количество каталогов, принадлежащих пользователю, певысит это число и Dropbox снова перестанет синхронизироваться – достаточно увеличить еще раз.

5 мыслей о “Dropbox не синхронизирует – решение проблемы”

  1. Где именно увеличть значение этой переменной – max_user_watches?
    что такое “из-под рута” ?
    Если бы подсказали как для чайников, была бы очень благодарна вам… )

    1. Где – написано в заметке: echo 30000 > /proc/sys/fs/inotify/max_user_watches

      Выполнить команду с правами администратора.

  2. Не помогает 🙁

    Стоит:
    $ grep . /proc/sys/fs/inotify/*
    /proc/sys/fs/inotify/max_queued_events:16384
    /proc/sys/fs/inotify/max_user_instances:128
    /proc/sys/fs/inotify/max_user_watches:100000

    Всего файлов+папок:
    $ find ~/Dropbox | wc -l
    2733

    Но так и не синхронизируется.

    1. Учитывается общее число каталогов и файлов, принадлежащих пользователю, а не только тех, что синхронизируются в Dropbox. Т.е. дело не в клиенте Dropbox, а в работе ФС и ОС. Так что я бы для начала попробовал поднять лимит выше 100000.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *