Pull to refresh

Comments 33

Считайте меня ретроградом и параноиком, у меня три компа и синхронизирую я их через внешний зеркальный raid из двух 2,5" дисков. К ноуту переходник usb3-sata, а в стационарах просто салазки.
При этом деление папок у меня по программам. Т.е. есть папка Projects, в которой есть папки типа OrCAD, Keil, Matlab и прочие. А уже внутри них конкретные папки проектов. Для всей документации отдельная папка, в которой идет деление по темам, если это актуально, и по производителю. Плюс есть папка в корне, где тоже лежат папки по проектам, но там складируется всё, что не подходит для других папок, типа счетов, диаграмм и прочего. Пользуюсь такой структурой уже больше 8 лет. Правда, это всё на винде.
Синхронизируете-то, собственно, какой программой и каким механизмом? В какой момент происходит копирование с/на 2.5" диски и как решается, что именно и куда копировать?
UFO just landed and posted this here
Синхронизирую при помощи GoodSync. Каков механизм синхронизации? Видимо, по дате изменения файла. Т.е. это не гит, в котором можно срастить сами файлы. У меня таких задач нету, поэтому всё устраивает.
Копирование на 2,5" делаю по завершении рабочего дня, хоть иногда и ленюсь. Гудсинк выдает список изменений, что куда будет скопировано. И если возникли конфликты, то их нужно разрешить вручную. Самый обычный пример — файл изменен с двух сторон.
Я на самом деле с трудом представляю, как по дате изменения файла (и даже дате + самим файлам) можно решить вопрос о том, есть конфликт или нет.

Вот есть файл со стороны A, у него timestamp t1, есть файл с стороны B, timestamp t2. В моем представлении единственное, что в таком случае можно сделать, это скопировать A->B если t1 > t2, B->A если t1 < t2 и ничего не копировать, если t1 == t2.

Собственно, вопрос о механизме синхронизации остается ;)
Боюсь, что как раз там толком ничего не пишут, кроме каких-то невнятных маркетинговых «у нас все хорошо и мы много чего умеем». В википедии про них написано чуть больше и чуть внятнее — по крайней мере становится понятно, что для того, чтобы понять, что синхронизировать, они ведут базу данных файлов.

Вариант с центральной (или chained) базой данных понятен, но и все его минусы в виде единого центрального слабого места в целом тоже понятны…
Для синхронизации попробуйте git-annex. Он использует инфраструктуру git для хранения и передачи данных (можно хоть на github синхронизировать), при этом синхронизация происходит автоматически при изменении файлов.
Ну и есть Bittorrent Sync, но у него есть серьёзные проблемы.
Ух ты! Спасибо. Интересно, что происходит при конфликтах файлов.
Чем же вам Bittorrent Sync не угодил, какие у него серьёзные проблемы вы увидели?
Пользуюсь им больше года, работает отлично.
— Отсутствие версионности, старую версию файла не восстановить. Есть папка для удалённых файлов, но это не совсем то.

— Потенциальная потеря данных: если изменить файл сначала в одном месте, потом в другом и запустить процесс синхронизации, то будет сохранена только последняя версия файла, старая версия будет утеряна.

— Отсутствие атомарности «коммитов»: если изменить содержимое папки сначала на одном компьютере и одновременно на другом, то после синхронизации получится «каша» из обеих папок, а если файлы в папке имели одинаковые названия, то они будут перезаписаны в соответствии с временем последнего изменения файла.

Как-то так. Ну и по мелочи: закрытый протокол, закрытый код.

По мне Bittorrent Sync — это средство не для синхронизации данных в процессе работы над ними, а для односторонней доставки, например, на сервер или на группу серверов.
Я вижу вы тоже большой любитель порядка.

Посему вопрос: какие цели у этой системы?
Ну и second-system effect налицо
Наверное, вы спрашиваете про синхронизацию.

Самая главная причина — синхронизация данных между ноутом и стационарным компом. Дома я люблю использовать именно стационарный. Но также люблю, чтобы те же файлы были и там, и там.

Вторая причина — удобное создание резервных копий. Помимо самих бэкапов у меня добавляется история, что тоже очень приятно.

Если про виртуалки, то привлекает удобство создания резервных копий и быстрое восстановление из них, в отличие от восстановления обычной системы.
Судя по целям, «обычные люди» для этого используют дропбокс. Гики rsync и свой сервер.

Просто в статье момент между медиавики и свой гитсервер не совсем понятен.
Я юзал rsync и сейчас продолжаю юзать, но сделать бэкап системных файлов, например, и его восстановить намного геморнее, чем сделать бэкап виртуалки (который я тоже делаю при помощи rsync). Вот я об этом.

Угу. Теперь понятно. Спасибо
Я не большой любитель порядка, но для синхронизации нужных файлов недавно нчал использовать Bittorrent sync. Из плюсов — есть приложения для ios/android. Из минусов — иногда при отсутствии связи они залипают и не показывают скачанный ранее файл
— .git скоро будет занимать места больше, чем сами файлы
— шифрованные файлы (trueCrypt) будут каждый раз коммитится целиком
— картинки и киношки будут падать в реп целиком
— логи будут коммитится
— многие проги создают временные файлы, которые тоже нужно перебрасывать между компами; phpStorm, например.

Сам все документы и рабочие файлы храню в дропбокс+SkyDrive, ачивку с виртуалками и .git уже получил года 2 назад)
— удалённые файлы гит всё равно будет хранить (если только принудительно их не вычищать, что так же создаёт дополнительные неудобства)

>> — логи будут коммитится
есть .gitignore, но таки да, его нужно настраивать
Настроить .gitignore вообще не проблема. А синхронизировать кино и прочие монструозные файлы незачем. Есть стационарный комп, там все фильмы, захотел, подрубился и скачал нужный фильм. Моя git система в основном для частоизменяемых файлов.

А системные файлы, так как большинство задач выполняются в виртуалках, легко бэкапятся при помощи rsync.
А, т.е. это не система бэкапа для всего и вся, а просто средство ведения своих доков/скриптов и прочей фигни?
Из статьи это было неочевидно, по крайней мере для меня :)
Да, наверное я плохо сформулировал. До этой системы я бэкапил всё и вся при помощи rsync.

Сейчас я делаю:
* бэкапы частоизменяемых и частоиспользуемых файлов (доки, код, частоиспользуемые книги ) при помощи git
* на стационарном компе происходят бэкапы всего и вся при помощи rsync в кроне:
* Раз в день делается полный бэкап (инкрементальный)
* Раз в неделю делается полный бэкап (инкрементальный)
* Раз в месяц делается архив, содержащий всё и вся.
* В виртуалках выполняются все задачи, связанные с работой (виртуалка для проекта), серфингом. Бэкапы виртуалок сделаны после настроек виртуалки, все рабочие файлы внутри них синхронизируются тоже гитом

То есть, чтобы восстановится при полном крахе системы, мне нужно быстро поднять систему (у меня arch, за полчаса подниму), поставить virtualbox + скопировать папку с виртуалками и выкачать гитом нужные репозитории.
Использую NAS от Synology. Синхронизирую и бэкаплю все от компа до телефона у себя и всех родственников. Стоит не дешево, зато удобно.
У меня все проще, поднял VPN на дом.серваке, расшарил файлопомойку, из любой точки планеты всегда есть доступ к файлам.
По необходимости и бекап можно настроить.
Поднять веб-морду для шары, индексируем файлы, и делаем поиск, нет проблем. [дальше по желанию и вашим требованиям], лично у меня морда позволяет манипулировать файлами и директориями, просматривать фото, из соответствующей директории на весь экран + слайдшоу, проигрывать музыку, пробовал фильмы но железки не тянут HD, мониторинг состояния сервера и запуск остановка некоторых сервисов.
pls, поделитесь ссылкой на веб-морду и т.д…
ownCloud вполне справляется с этим.
Если для проектов — github.
Для приватных проектов — bitbucket.
Для «супер» приватных проектов — gitlab.

Для бекапа всего на другой сервер — rsnapshot.

Что я забыл?
Чем больше читаю подобные топики, тем сильнее начинаю любить Acronis и TimeMachine :)
Та же TimeMachine не решает проблем, поднятых в данной статье.
TimeMachine — это бэкапы.
Можно, конечно, извратиться и использовать её для синхронизации — сделать бэкап на первом компе, потом вручную восстанавить содержимое нужной папки из бэкапа на второй комп и наоборот.
Но merge двух папок там не сделаешь, нужно всегда последовательно копировать всю папку целиком.
Использую seafile для синхронизаци данных между устройствами чуть более полугода (после того как ubuntu one прикрыли), каких-либо проблем и косяков не замечено + умеет версионирование.
Хочу обратить внимание на эту программку. Мною писана для создания резервных копий и спецом дабы уйти от написания скриптов копирования. Фишка программы в том что в ключах можно использовать несколько масок на ключ. А сами ключи разделены на ключи для папок и для файлов. Что позволяет очень гибко одной коммандой скопировать только нужную информацию исключив все ненужное. Как уже сказал, программа позволяет в большинстве случаев отказаться от написания сложных скриптов копирования. Присутствуют и другие навороты. Если кому интересно пользуйтесь, програма халявная. Если будут интересные предложения функционал можно дальше расширить (хотя того что там уже есть, на мой взгляд, уже вполне достаточно).
К сожалению (даже к счастью), не пользуюсь ОС Windows уже 8 или 9 лет.
в свое время пробовал перейти но жизнь (в основном работа) заставляли возвращаться в окна.
Sign up to leave a comment.

Articles