Отдавна се канех да развия и тази тема, но както винаги време няма. Обаче се случи така, че от мързела си загубих малко данни и сега от зор ще развия и тази тема. Започвам от там, че почти на всеки се е налагало да клонира дадени данни и да ги запази в друго място. Проблема е, че понякога се правят промени и за да се отразят на другото място трябва или да се свърши на ръка или да се автоматизира процеса. И защото съм си мързелив предпочитам втория вариант.
Колкото и пъти да се захвана с някоя задача винаги се ръководя от следните принципи - софтуера който ще ползвам да е свободен (да не давам пари), - софтуера да е лесен за ползване, - софтуреа да има дълготрайна поддръжка, - софтуера да е стабилен в работата си. Пробвах много варианти и накрая се спрях на FreeFileSync.
Първо да се уточним задачите , които ще си поставим: - синхронизиране на две папки - синхронизацията да се повтаря (на колкото време си пожелаем) - синхронизацията да е двупосочна. И така сега ще проиграем следната задача. Ще синхронизирам някои от папките в два облака. Ще ги синхронизирам двупосочно и упражнението ще се повтаря на всеки 5 мин. За начало да смъкнем програмата от https://freefilesync.org/download/FreeFileSync_11.14_Windows_Setup.exe А сега да я инсталираме. Стартираме файла FreeFileSync_11.14_Windows_Setup.exe
Приемаме споразумението за лицензионните права. Напред за продължение.
Указваме папката в която ще се инсталира програмата. Напред за продължение.
Указваме къде ще инсталираме програмата, в случая на локалния компютър. Дефинираме и къде ще се създадат преки пътища. Напред за продължение.
Екран с реклама, Напред за продължение.
Край на инсталацията. Готово за край. На десктопа трябва да се появят следните линкове: - FreeFileSync, - RealTimeSync. Ние ще работим с FreeFileSync. Стартираме програмата.
Създаваме нова задача
Натискаме върху бутона Browse, за да изберем едната папка която ще синхронизираме. По същия начин избираме и другата папка през другия бутон Browse.
В случая избрахме папки D:\Clouds\OneDrive\!Linux и D:\Clouds\NextCloud\!Linux. Сега да определим типа синхронизация
Може да се конфигурира синхронизацията като се нтисне бутона "F8"
В случая ще ползвам Two way. Тук искам малко да доуточня: - Two way: - синхронизацията се прави в двете посоки. Промяната в която и да е папка се отразява веднага в другата дефинирана. Тук няма водеща папка. - Mirror: - Прави огледално копие на лявата папката със съдържанието и в дясната папка. - Update: - Копира новите или редактирани файлове от лявата папка в дясната папка. - Custom: - Прави логика на синхронизация която сами си изградите.
Сега да създадем файл който да изпълнява задачата която до сега дефинирахме. На практика създадохме скрипт който ще провери дали има промени в лявата и дясната папка. Ако има някъде промяна (следи датата и времето на редакция във файловете или папките) то файловете или папките с по-нова дата или време препокриват старите.
Обърнете внимание дали са избрани Run minimized и Auto-close. При избрани тези две отметки то задачата ще остане скрита за погледа на потребителя и след завършване на синхронизацията процеса ще завърши. Save as... за да укажем къде да запишем скрипта. На по-късен етап ще го ползваме за регулярно обновяване на папките. В моя случай записах файла в: D:\Clouds и файла се казва BatchRun !Linux.ffs_batch.
До тук добре, можем да синронизираме двете папки каот изпълним на ръка скрипта. Проблема е ако сте заблеян като мене. В този случай е хубаво този файл да се изпълнява през определено време автоматично. Няма да се притесняваме, че ще остават някакви екрани на работния плот, защото така сме създали скрипта. За да се случи всичко това ще ползваме Task Sheduler
Създаваме нова задача Create Basic Task....
Даваме име на синхронизиращата задача. Next > за продължение.
През колко време да се изпълнява скрипта. В случая указваме всеки ден. Впоследствие това ще се промени на по-кратко време.
Скрипта да започне да се изпълнява на 4.10.2021 г. в 13.12.41 ч. и да се повтаря всеки ден в указания час. Next> за продължение.
Програмата да се стартира. Next> за продължение.
Обърнете внимание на полетата които съм оградил в червено. - Program/script:"C:\Program Files\FreeFileSync\FreeFileSync.exe" - указваме какво стартираме, - Add argument (optionsl):"D:\Clouds\BatchRun !Linux.ffs_batch" - указваме това което стартираме дали има опция, в случая имаме разширение. Тук указахме пътя където записахме скрипта, както и самия скрипт.
Показва пълния вид на задачата. Finish за завършване. Сега да я редактираме, защото времето на повторение на задачата е 1 ден, а това не ни устройва
Избираме задачата, в случая е Sync_!Linux и след това Properties.
В таба Triggers избираме времето за повторение Daily и даваме Edit....
Казваме също така задачата да се повтаря на всеки 5 мин в деня. Така на практика задачата ще се повтаря всеки ден през 5 мин. Иначе казано на всеки 5 мин. постоянно ще се изпълнява. С това приключваме темата. Тук има само базисни пояснения. Разучете FreeFileSync и ще можете да си синхронизирате нещата в много по-сложни комбинации.