Синхронизиране на папки

Отдавна се канех да развия и тази тема, но както винаги време няма. Обаче се случи така, че от мързела си загубих малко данни и сега от зор ще развия и тази тема. Започвам от там, че почти на всеки се е налагало да клонира дадени данни и да ги запази в друго място. Проблема е, че понякога се правят промени и за да се отразят на другото място трябва или да се свърши на ръка или да се автоматизира процеса. И защото съм си мързелив предпочитам втория вариант.


Избор на приложение за изпълнение на целите


Колкото и пъти да се захвана с някоя задача винаги се ръководя от следните принципи - софтуера който ще ползвам да е свободен (да не давам пари), - софтуера да е лесен за ползване, - софтуреа да има дълготрайна поддръжка, - софтуера да е стабилен в работата си. Пробвах много варианти и накрая се спрях на FreeFileSync.


Инсталиране на FreeFileSync


Първо да се уточним задачите , които ще си поставим: - синхронизиране на две папки - синхронизацията да се повтаря (на колкото време си пожелаем) - синхронизацията да е двупосочна. И така сега ще проиграем следната задача. Ще синхронизирам някои от папките в два облака. Ще ги синхронизирам двупосочно и упражнението ще се повтаря на всеки 5 мин. За начало да смъкнем програмата от https://freefilesync.org/download/FreeFileSync_11.14_Windows_Setup.exe А сега да я инсталираме. Стартираме файла FreeFileSync_11.14_Windows_Setup.exe

Pic01

Приемаме споразумението за лицензионните права. Напред за продължение.


Pic02

Указваме папката в която ще се инсталира програмата. Напред за продължение.


Pic03

Указваме къде ще инсталираме програмата, в случая на локалния компютър. Дефинираме и къде ще се създадат преки пътища. Напред за продължение.


Pic04

Екран с реклама, Напред за продължение.


Pic05

Край на инсталацията. Готово за край. На десктопа трябва да се появят следните линкове: - FreeFileSync, - RealTimeSync. Ние ще работим с FreeFileSync. Стартираме програмата.

Pic06

Pic07

Създаваме нова задача


Pic08

Натискаме върху бутона Browse, за да изберем едната папка която ще синхронизираме. По същия начин избираме и другата папка през другия бутон Browse.


Pic09

В случая избрахме папки D:\Clouds\OneDrive\!Linux и D:\Clouds\NextCloud\!Linux. Сега да определим типа синхронизация

Pic10

Може да се конфигурира синхронизацията като се нтисне бутона "F8"


Pic11

В случая ще ползвам Two way. Тук искам малко да доуточня: - Two way: - синхронизацията се прави в двете посоки. Промяната в която и да е папка се отразява веднага в другата дефинирана. Тук няма водеща папка. - Mirror: - Прави огледално копие на лявата папката със съдържанието и в дясната папка. - Update: - Копира новите или редактирани файлове от лявата папка в дясната папка. - Custom: - Прави логика на синхронизация която сами си изградите.


Pic12

Сега да създадем файл който да изпълнява задачата която до сега дефинирахме. На практика създадохме скрипт който ще провери дали има промени в лявата и дясната папка. Ако има някъде промяна (следи датата и времето на редакция във файловете или папките) то файловете или папките с по-нова дата или време препокриват старите.


Pic13

Обърнете внимание дали са избрани Run minimized и Auto-close. При избрани тези две отметки то задачата ще остане скрита за погледа на потребителя и след завършване на синхронизацията процеса ще завърши. Save as... за да укажем къде да запишем скрипта. На по-късен етап ще го ползваме за регулярно обновяване на папките. В моя случай записах файла в: D:\Clouds и файла се казва BatchRun !Linux.ffs_batch.


Регулярно обновяване на папките


До тук добре, можем да синронизираме двете папки каот изпълним на ръка скрипта. Проблема е ако сте заблеян като мене. В този случай е хубаво този файл да се изпълнява през определено време автоматично. Няма да се притесняваме, че ще остават някакви екрани на работния плот, защото така сме създали скрипта. За да се случи всичко това ще ползваме Task Sheduler

Pic14

Създаваме нова задача Create Basic Task....


Pic15

Даваме име на синхронизиращата задача. Next > за продължение.


Pic16

През колко време да се изпълнява скрипта. В случая указваме всеки ден. Впоследствие това ще се промени на по-кратко време.


Pic17

Скрипта да започне да се изпълнява на 4.10.2021 г. в 13.12.41 ч. и да се повтаря всеки ден в указания час. Next> за продължение.


Pic18

Програмата да се стартира. Next> за продължение.


Pic19

Обърнете внимание на полетата които съм оградил в червено. - Program/script:"C:\Program Files\FreeFileSync\FreeFileSync.exe" - указваме какво стартираме, - Add argument (optionsl):"D:\Clouds\BatchRun !Linux.ffs_batch" - указваме това което стартираме дали има опция, в случая имаме разширение. Тук указахме пътя където записахме скрипта, както и самия скрипт.


Pic20

Показва пълния вид на задачата. Finish за завършване. Сега да я редактираме, защото времето на повторение на задачата е 1 ден, а това не ни устройва

Pic21

Избираме задачата, в случая е Sync_!Linux и след това Properties.


Pic22

В таба Triggers избираме времето за повторение Daily и даваме Edit....


Pic21

Казваме също така задачата да се повтаря на всеки 5 мин в деня. Така на практика задачата ще се повтаря всеки ден през 5 мин. Иначе казано на всеки 5 мин. постоянно ще се изпълнява. С това приключваме темата. Тук има само базисни пояснения. Разучете FreeFileSync и ще можете да си синхронизирате нещата в много по-сложни комбинации.