Я использую свой ноутбук с Ubuntu-рабочим столом, чтобы выполнять всю мою работу, но у меня также есть рабочий стол низкого уровня в моем офисе, который просто сидит там. Я решил установить на нем Ubuntu-сервер и использовать его для зеркалирования всей домашней папки моего ноутбука, чтобы упростить процесс принятия решения о форматировании жесткого диска моего ноутбука.
Всякий раз, когда я на работе, обе машины подключены к сети и легко (и высокоскоростные) общаются через ssh. Когда я не на работе, рабочий стол все еще доступен через ssh. В идеале синхронизация должна происходить автоматически в фоновом режиме, когда я что-то изменяю. Это должно быть только одним способом: изменения, которые я делаю на ноутбуке, должны быть синхронизированы с сервером, но обратное не требуется.
Я знаю, что есть программное обеспечение для этого, мой вопрос: какое программное обеспечение я могу использовать для достижения вышеуказанных целей, а также в полной мере использовать скорость локальной сети, когда я на работе? Поскольку иногда мне приходится иметь дело с большими файлами, процесс синхронизации должен понимать, что два компьютера совместно используют локальную сеть, а затем использовать это преимущество (вместо того, чтобы всегда выполнять синхронизацию через Интернет).
Просто для ясности, синхронизация через сеть на самом деле для меня здесь важнее, чем синхронизация через Интернет. В идеале, программное обеспечение проверит наличие первого и, если нет, попробует второе; но если это невозможно, первый случай - мой приоритет.
Надеюсь, это не слишком долго. Заранее спасибо.
Я бы предложил использовать rdiff-backup поверх rsync. Это в основном просто rsync ++.
В отличие от rsync, который является зеркалом 1-1, которое передает различия, rsync имеет механизм истории. Так что, если вы облажались и удалили что-то важное, вы можете вернуться назад на неделю назад и получить это обратно.
На «сервере» Ubuntu вам просто нужно запустить ssh для apt-get install rdiff-backup.
на клиенте. Я бы либо запустить это вручную .. или через crontab.
Если вы откроете свой порт 22 для интернета ... вы сможете запускать один и тот же скрипт в любом случае ... просто сделайте так, чтобы ваше имя хоста разрешалось локально по вашему локальному IP.
то есть. backupSrv.penguins.org будет разрешать внешний IP. 2.3.4.5 но внутри вашей локальной сети: до 192.168.1.253
источник
Я не знаю полного, готового решения вашей проблемы. Вы, вероятно, должны написать небольшой сценарий самостоятельно для этого.
Сама синхронизация могла быть сделана
rsync
, как уже объяснил Риккардо Мурри. Rsync передает только измененные части файлов, поэтому он идеально подходит для этой задачи.Вы можете использовать NetworkManagerDispatcher для выполнения сценариев при подключении / отключении сетевого интерфейса. Таким образом, вы можете написать скрипт, который проверяет, что вы находитесь в правильной сети, а затем вызывает rsync. Таким образом, ваши данные будут автоматически синхронизироваться при подключении к сети вашей компании.
Для периодической синхронизации ваших данных вы можете использовать cron, как уже упоминалось.
Вы также должны учитывать безопасность при использовании rsync через ssh. Для синхронизации без вмешательства пользователя вам понадобится ключевой файл без пароля. Любой, у кого есть этот ключевой файл, может получить доступ к серверу, которому он принадлежит. Я настоятельно рекомендую зашифровать домашнюю папку, чтобы защитить данные на ноутбуке и на сервере.
источник
DropBox | DropBox @ SuperUser http://www.dropbox.com/help/137
DropBox должен быть хорош в вашем случае, работает на Linux, Mac, Windows, прост в настройке и управлении.
Скачать DropBox
/superuser/147315/dropbox-to-sync-nix-home-folders
http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders
Прочитайте - он поддерживает синхронизацию с помощью символических ссылок, и если есть определенные документы, графики, электронные таблицы, которые вам нужно синхронизировать - вы все равно можете хранить их копии в Dropbox или постоянно сохранять их в папке Dropbox, чтобы избежать проблем.
источник
Попробуйте Sparkleshare: http://sparkleshare.org/
В репозитории Ubuntu есть клиент, на котором есть инструкции по настройке сервера на их веб-сайте.
источник
Лучшее решение на 2015 год должно быть Seafile: https://www.seafile.com/en/download/
Разработчики Sparkleshare говорят, что их инструмент хорош для многих небольших и особенно текстовых файлов, но не так хорош для больших и двоичных файлов.
По производительности он превосходит Sparkleshare и Owncloud.
Кроме того, он гораздо менее требователен к ресурсам, чем OwnCloud - так что экземпляр может работать на Banana или Raspberry без каких-либо проблем в качестве 24/7 работающего компьютера. (Я бы порекомендовал Banana Pi, хотя из-за гигабитной сети и интерфейса SATA это был хороший выбор для файлового сервера, по крайней мере, для меня.)
Я синхронизирую свои домашние папки с тремя компьютерами. Я исключаю точечные файлы, они обрабатываются с помощью git-репо и некоторой логики, потому что - как упоминал Рикардо - существуют некоторые проблемы в совместном использовании точечных файлов и другой конфигурации на разных компьютерах, даже если это одна и та же ОС и выпуск. Подумайте, например, о файле monitors.xml или о другой разметке для IDE на ноутбуке и на многоэкранном рабочем столе - или о программе, открытой на обоих компьютерах.
Помимо синхронизации, я делаю резервную копию этих данных - через borgbackup. Это очень хорошая новая программа резервного копирования, которая выполняет дедупликацию, очень быстрая после первоначального резервного копирования и имеет множество функций, которых не хватает многим инструментам.
Это идеальный вариант для меня.
источник