Синхронизация домашней и рабочей машины через Flash, Антон, 29-Фев-08, 17:37 [смотреть все]Есть две машины - дома и на работе. Есть USB Flash. Есть директория с кучей файлов проекта, копии этой директории есть на обеих машинах. Временами или дома или на работе в некоторые файлы вносятся изменения.Задача: через перенос только измененных данных на USB Flash обеспечить синхронизацию директории. Главное, чтобы переносились только изменения, rsync и unison позволяют сделать перенос с хранением полной копии на Flash, а мне нужно что бы на Flash сохранялся только хэш с информацией, что есть дома и что на работе, и измененнные данные. Попытки поиска готового решения к успеху не привели. Кто-нибудь озадачивался такой схемой синхронизации ?
|
- Синхронизация домашней и рабочей машины через Flash, cobold, 17:42 , 29-Фев-08 (1)
- Синхронизация домашней и рабочей машины через Flash, Антон, 20:26 , 02-Мрт-08 (3)
>diff + patch? И как diff узнает что у меня на домашней мащине без полного копирования данных ? Чтобы сделать diff нужно иметь одновременно данные с обеих машин, если все копировать на flash с этим прекрасно unison справляется. К томуже данных много и они большей частью бинарные.
- Синхронизация домашней и рабочей машины через Flash, angra, 12:27 , 01-Мрт-08 (2)
Я бы глянул в сторону svn + tailor.
- Синхронизация домашней и рабочей машины через Flash, Антон, 20:30 , 02-Мрт-08 (4)
>Я бы глянул в сторону svn + tailor. Для этого нужно носить с собой SVN репозиторий на Flash. Задача простая, не сходу готовое решение не находится. Аглоритм примерно такой: - сохраняем список всех файлов и их атрибутов в файле. - на другой машине, создаем другой аналочиный список. - все отсутствующие файлы или различающиеся по дате изменения или размеру копируем на Flash.
- Синхронизация домашней и рабочей машины через Flash, angra, 23:01 , 02-Мрт-08 (5)
Зачем вы спрашиваете совета, если при этом не читаете то, что вам отвечают?
- Синхронизация домашней и рабочей машины через Flash, Антон, 21:28 , 03-Мрт-08 (6)
>Зачем вы спрашиваете совета, если при этом не читаете то, что вам >отвечают? Как я понял вы предложили зеркалировать SVN репозитории. Я наверное не совсем правильно выразился изначально назвав данные проектом, хотя подразумевал просто все пользовательские данные, включая разные mp3 и прочую объемную чушь. SVN в этом случае как из пушки по воробъям, вместо хранения одного хэша, на двух машинах, домашней и рабочей, нужно по сути дубликовать всю информацию в SVN.
- Синхронизация домашней и рабочей машины через Flash, pavel_simple, 22:07 , 03-Мрт-08 (7)
- Синхронизация домашней и рабочей машины через Flash, angra, 23:48 , 03-Мрт-08 (8)
Чем точнее формулируете задачу, тем больше шансов получить правильный ответ. Если вам нужно переносить не изменения в файлах, а просто измененные файлы целиком, то find по дате изменения и cp скорее всего будет достаточно. Если же нужен перенос изменений(то бишь diff), то для их получения все равно нужно иметь полную копию, дабы было с чем производить сравнение, в таком случае использование систем контроля версий вполне оправданно, особенно с учетом всех остальных плюсов. Только не держать svn на флешке, а на каждой из машин иметь svn и использовать tailor и флешку для оффлайновой синхронизации.
- Синхронизация домашней и рабочей машины через Flash, Антон, 16:08 , 04-Мрт-08 (9)
>Чем точнее формулируете задачу, тем больше шансов получить правильный ответ. Если вам >нужно переносить не изменения в файлах, а просто измененные файлы целиком, >то find по дате изменения и cp скорее всего будет достаточно. Изменения не нужны, главное просто перенос отсутствующих на другой стороне файлов. Простой find здесь не сработает, так как файлы могут быть перемещены из другого места и иметь старую дату модификации. Хотелось именно от записанного списка файлов и их атрибутов отталкиваться. rdiffdir посмотрел, близко к желаемому, но не то.
- Синхронизация домашней и рабочей машины через Flash, angra, 20:03 , 04-Мрт-08 (10)
что мешает использовать find для генерации полного дерева в начале и конце работы и сравнения их при помощи diff? Можете при желании заставить find вместо print делать ls -l, дабы отслеживать все модификации. В любом случае для такой простой задачи врядли стоит искать готовые решения ибо умещаются они в несколько строчек на баше :)
- Синхронизация домашней и рабочей машины через Flash, Антон, 22:43 , 04-Мрт-08 (11)
Убедил. Сделал на коленке.mklist.sh:
#!/bin/sh find $1 -printf "%p\t%s\t%t\n"
mktar.sh:
#!/bin/sh diff -T $1 $2|grep '<'|cut -f2|tar -cf - -T -
Дома
mklist.sh /home/anton > home.txt
На работе
mklist.sh /home/anton > work.txt mktar.sh work.txt home.txt > backup.tar
- Синхронизация домашней и рабочей машины через Flash, Андрей, 16:29 , 03-Июл-08 (12)
Total Commander + DiskDir plugin (сравнение каталога со списком файлов в .lst)
- Синхронизация домашней и рабочей машины через Flash, nvn1760, 16:03 , 23-Мрт-11 (13)
Я не могу понять чем вас не устроил mc ? Попробуйте папку с данными с рабочей машины копировать поверх существующей папки на флэхе, появится запрос на замену файла и будет вариант заменить устаревшие.
|