[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: syncying...synced...soncet. ;-} Синхронизация файлов в одинаковых каталогах и с почти одинаковыми файлами. :-}



On Thu, Oct 01, 2009 at 06:34:28PM +1100, sms wrote:
> On Wed, 30 Sep 2009 17:59:11 +0400
> dima <dima@intex.spb.ru> wrote:
> 
> > On Tue, Sep 29, 2009 at 08:06:19PM +1100, sms wrote:
> > > Привет.
> > > Есть два одинаковых по названию каталога (папки, директории ;-?) с
> > > почти одинаковыми файлами. Ну например так:
> > > 
> > > $ ls -la /mnt/disk1/files/
> > > vindoza-otstoj_1 rwxrwxrwx root chroot 324 2.10.1223
> > > vindoza_seet_viruzy_2 rwxrwxrwx root chroot 34 1.10.1223
> > > vindoza_mazda_j3243_3 rwxrwxrw- root chroot 244 4.09.3222
> > > 
> > > $ ls -la /mnt/disk2/files/
> > > vindoza-otstoj_1 rwxrwxrwx root chroot 35 2.10.1223
> > > vindoza_seet_viruzy_2 rwxrwxrwx root chroot 39 1.10.1223
> > > vindoza_mazda_j3243_3 rwxrwxrw- root chroot 240 4.09.3222
> > > windos-haknul_malysh_4 rwx-w-r-x chroot root 49 2.03.4223
> > > 
> > > Требуется синхронизировать все эти файлы в этих двух папках так,
> > > чтобы в результирующей (третей папке) появились файлы с более
> > > позним временем изменения. И те файлы, которые НОВЫЕ (есть в одной
> > > папке, но отсутствуют в другой) тоже должны скопироваться в третью
> > > папку (назовем ее /mnt/WINDOZ_PONOS-onic ) ;-) Как в консоли это
> > > сделать? А есть ли еще графические программы синхронизации для этой
> > > цели?
> > 
> > Мне кажется, что не совсем понятно чего нужно.
> > 
> > В условиях задачи нет следующего:
> > 1. Нужно ли копировать изменения между папками 1 и 2?
> копировать изменения между папками 1 и 2 не нужно, более новые файлы с
> одним и тем же именем просто копируются в третью папку
> > 2. Что делать, если с момента предыдущего прогона файл с одинаковым
> > именем менялся в обоих папках?
> значит надо эти файлы обновить (выбрать из двух файлов более свежую
> версию)

Из этого как мне кажется следует, что для программы, которая копирует
файлы в папку 3 есть одна из папок 1 и 2, и есть папка 3. Мы можем
запускать ее просто последовательно для 1 и 2 папок. (далее смотрим на 1
папку).

Мы проходим по списку файлов в папке 1, и для каждого файла смотрим:
 если в папке 3 нет файла с таким именем или файл в папке 1 новее, чем
 его тезка в папке 3 - копируем файл из папки 1 в папку 3.

И это все. Мы просто запускаем описанную функцию для обеих папок
последовательно.

> > 3. Файловая система posix или NTFS/FAT/любая?
> fat и ext2(3)

Вот на fat может быть засада с регистром в именах файлов.

> > 4. Удаление файлов мы как-то реплицируем?
> удалять не надо, результирующие файлы помещаются в третью папку
> > 
> > Может быть папка 3 должна быть репозитарием CVS/SVN/GIT?
> нет, папка как папка. ;-} никаких репозиториев

А я так надеялся :-)

WBR
Dmitri Ivanov


Reply to: