Многие наверное давно и успешно пользуются известнейшим сервисом “онлайн-флешки” – 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 снова перестанет синхронизироваться – достаточно увеличить еще раз.