Синхронизиране на папка под линукс. Огромна с > 1 000 000 файла

garnet

Well-Known Member
Трябва ми решение за следното под линукс.

ПЦ1, Папка1 - размер > 1ТБ, брой файлове > 1 000 000. Размера им варира от 10к до 1 ГБ.

това нещо трябва да се синхронизира с ПЦ2, Папка1, в реално време. Само от ПЦ1 към ПЦ2. Т.е при промяна на файл на ПЦ1, този файл да се копира на ПЦ2. Мрежата между ПЦ1 и ПЦ2 е 10 ГБ/с

Промените в ПЦ1 не са чести (да кажем 1 път седмично), но винаги се променят различен брой/обем файлове. Имам прозорец от 2 часа през който да синхронизирам с ПЦ2.

Освен това е хубаво за всеки променен файл да се копират само променените сектори, не целия, т.е про промяна от 10 мб в 1 ГБ файл да не се копира целия 1 ГБ а само 10 МБ.

Какво може да се измисли?
 
От: Синхронизиране на папка под линукс. Огромна с > 1 000 000 файла

Най-лесният вариант е платен pcloud например, където 1 терабайт струва 8 долара месечно. Сещам се и за друг вариант, но не е в реално време, затова ти предлагам този, при който всяка променя се отразява веднага при другото устройство.
 
NFS, но тогава файловете няма да ги има физически на PC2, а само ще са достъпни там чрез мрежата, реално ще са на PC1.
Може и rsync, обаче тогава ще се копират цели файлове, не само "секторите", които са променяни.
 
NFS не е вариант, файловете трябва да са физически на 2те ПЦ-та.
 
От: Синхронизиране на папка под линукс. Огромна с > 1 000 000 файла

Ползваш rsync разбира се. Прочети ръководството обаче задължително, аз ще те насоча малко с опцията --ignore-existing.

This forces rsync to skip any files which exist on the destination and have a modified time that is newer than the source file. (If an existing destination file has a modification time equal to the source file's, it will be updated if the sizes are different.)
 
От: Синхронизиране на папка под линукс. Огромна с > 1 000 000 файла

Аз по-скоро бих се насочил в посока inotify и решение на апликейшън ниво в комбинация с rsync
 
От: Синхронизиране на папка под линукс. Огромна с > 1 000 000 файла

Човека пита за програма, която синхронизира СЕКТОРИ, не файлове :)
Според мен подобно синхронизиране няма как да стане, но знае ли човек.
 
Времето за което рсинк ще прерови 1мил файла идва повече от прозореца от 2часа?
Затова трябва да е нещо,което следи в реално време през тия 2 часа.
Това за секторите е пожелание, може и цели файлове да праща.
 
I notify е най-близо до каквото ми трябва.
Има един проблем с него - наблюдава само папката и файловете в нея, подпапките не. Което си е проблем, защото има няколко хиляди папки в поне 10 поднива от /папка1.
 
От: Синхронизиране на папка под линукс. Огромна с > 1 000 000 файла

Може да опиташ това - http://www.cobian.se/cobianbackup.htm

Мисля, че имаше възможност да се нагласи да синхронизира само променените файлове в предварително зададените директории(включително и в поддиректориите). Има страшно много опции. За съжаление е под win, но тук гледам, че може да се пусне с WINE HQ https://appdb.winehq.org/objectManager.php?sClass=version&iId=12960&iTestingId=28390

http://www.nasbackup.com/index.php/Features
Fast. Based on Rsync, the fastest incremental file transfer program available, either open source or commercial. Only the differences between files and directories are transferred between local folders and their corresponding remote mirrors.

под линукс, но него конкретно не съм го пробвал.
 
От: Re: Синхронизиране на папка под линукс. Огромна с > 1 000 000 файла

I notify е най-близо до каквото ми трябва.
Има един проблем с него - наблюдава само папката и файловете в нея, подпапките не. Което си е проблем, защото има няколко хиляди папки в поне 10 поднива от /папка1.

Потърси в нета за рекурсивно следене. Има доста решения.
 

Горе