Автор Тема: Скрипт за синхронизация на файлове  (Прочетена 147 пъти)

Неактивен EDM electronics

  • Сериозен Експериментатор
  • Много Напреднал
  • ****
  • Публикации: 4 929
  • Втория 9-ти септември иди, иди ...
Скрипт за синхронизация на файлове
« -: Декември 08, 2025, 10:01:46 pm »
Споделям моя опит с дублиране на важни файлове от евентуална загуба на информация от повреда на хард-диска и т.н.

Това става със скрипт.
Ползвам предимно с еднопосочна синхронизация. Примерно от папка с файлове на компютъра от време на време прехвърлям файловете на външен хард диск с огромна памет. Синхронизацията първо проверява дали има промяна на файловете в двете папки по дата, по размер и съдържание и ако има разлика изпраща еднопосочно от предавателната в приемната - това е страшно удобно. Дори едни файл да промените тази промяна се хваща от скрипта и се променя този файл или липсата му.

Файла се отваря за запис на адреса на папките с текстов файл txt, но разширението му е ps1
Скрипта се стартира с десен бутон на мишката, като администратор чрез приложението PowerShell

Могат да се зададат в един скрипт множество адреси за синхронизация /папки/. Но аз общо използвам 2-3 скрипта.

Прикачвам скриптовете, ако някой прояви интерес - да ги изпробва.
Имам също и скриптове за двупосочна синхронизация.
Старта става ръчно, но може да се направи и автоматично - за мен ръчното е по-добър вариант.

Разархивирай ЗИП-файла, защото фопума не качва файлове с разширения ps1

Неактивен juliang

  • Заинтригуван
  • Много Напреднал
  • *
  • Публикации: 6 729
Re: Скрипт за синхронизация на файлове
« Отговор #1 -: Декември 08, 2025, 10:33:53 pm »
Проверката по съдържание е доста ресурсоемко занимание и честно не се сещам за случай, в който файла ще е с променено съдържание но със същата дата.
За тази цел аз ползвам програмката "Second copy". Това което в офиса е набедено за "файлов сървър" е с 2 SSD диска конфигурирани в RAID 1 масив - там физически данните се дублират на два диска още на ниво хардуер на контролера на дисковете. Дори и един да думне - информацията остава на другия и дори няма да се забележи освен в логовете на сървъра.
Освен тях в тоя комп имам и един 20 терабайтов механичен диск, на който гореспомената програма освен че прави огледално копие на SSD диска, пази и последните 10 версии на всеки един променен файл. Това е изключително полезно тъй като колегите много често отварят някаква оферта или някакъв чертеж като подложка за някакъв нов проект, работят по него, записват го и чак след това се сещат че така са затрили оригиналния файл, който може и да им потрябва някога.
И когато се сетя ръчно правя още едно копие на друга машина, намираща се в друга стая... всичко става - пожар, токов удар, апаши влизат... За тая цел позлвам командата "robocopy" на windows. Направил съм си един шорткът, в който съм записал и параметрите на командата, за да не ги пиша всеки път.

Преди години като ми беше скучно бях дигнал тоя сървър на Линукс. Там нещата са доста по-естествени, стават по-лесно, но въпреки това бях качил една програмка... BackInTime мисля че се казваше. Тя може да държи колкото си поискаш копия на цялата файлова структура - можеш по всяко време да се върнеш на определена дата и да видиш цялата структура на директориите и всички файлове към дадената дата. Това е благодарение на това, че линукс-а поддържа физически линкове към всеки файл, т.е. един файл физически заема само едно място на диска, но може да фигурира в много директории едновременно.
За личния си комп ползвам MegaSync-а за една директория, щото по всяко време имам текущата версия както вкъщи, така и на служебния компютър, а аварийно - имам копие и на телефона си, и мога да кача нужния ми файл на първия изпречил ми се пред погледа компютър. Да, за без пари само 50 гиги е хранилището, има само 5 гиги дневен трафик, но за "битови цели" е повече от достатъчно. Там торенти и некви гигантски инсталционни файлове не слагам - само некви писани от мен програмки, някой софтуер за контролерите с които бачкаме, някоя документация.

Неактивен EDM electronics

  • Сериозен Експериментатор
  • Много Напреднал
  • ****
  • Публикации: 4 929
  • Втория 9-ти септември иди, иди ...
Re: Скрипт за синхронизация на файлове
« Отговор #2 -: Вчера в 09:16:47 am »
Другарю,

това за което говориш ми е известно, и аз в офиса си имам сървър, който прави всичко това, но се поддържа от администратор, не се занимавам аз.

Ставаше въпрос за домашен компютър, бързо и лесно, без инсталации и най-вече сигурно, без грешки. По повод грешките:

Този синхро-облак който ти ползваш MEGA, аз го ползвам долу-горе от момента в който се появи, дори имам 2 профила за по 50 гига безплатни. Но не си обърнал внимание, аз да, много от файловете, които се качват са счупени - грешни, особено като ти се позапълни лимита. Ако съхраняваш до 10 гига може и да нямаш брак, оттам насетне много бракова продукция.

Скрипта не дава брак и става изключително бързо, но е ръчно, защото външният диск се свързва през USB и няма смисъл да го правя автоматичен при условие, че приемащия диск не е свързан.

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

Там сървари-мървари, това е вече за не домашно приложение.

Иначе на мен ми се се повреждал махеничен хард-диск.
Дадох го на един, който се занимава само с това, отвори го и го ремонтира. Извлече информацията и после я върна на отремонтирания диск. Останаха малко сектори повредени - надрани, неизползваеми, но до ден днешен този диск си работи, а минаха повече от 7-8 год от ремонта.

"Парен каша духа" - затова се налага синхронизация на важните файлове.