Synchronizacja / backup plików na własny serwer FTP

W czasach gdy zagrożenie programami szyfrującymi (ransomware) jest wysokie, warto wykonywać kopię bezpieczeństwa. Kopię najlepiej robić na nośniki, które są odizolowane od naszego komputera lub serwera.

Wykonanie kopii na tym samym dysku, lub serwerze z kilkoma dyskami było by nierozważne, gdyż w razie awarii, lub też wcześniej wspomnianego szyfrowania danych dla okupu zostajemy z niczym. Istnieje wiele firm oferujących swoje rozwiązania do “bekapu”. Tutaj jednak przestawimy jak taką kopię wykonać na własny serwer FTP bez dodatkowych kosztów (większość firm posiada stronę www, a więc i serwer prawdopodobnie w 90% niewykorzystywany, dlaczego by więc nie zagospodarować takiej przestrzeni?)

Będzie nam potrzebny:

  • Dostęp do FTP czyli login, hasło i adres hosta do którego będziemy się łączyć (może być IP).
  • Zainstalowany program WinSCP
  • Zlokalizowane dane które chcemy przesłać na FTP

Lećmy od końca…

W moim przypadku chciałbym zabezpieczyć archiwa programu do wystawiania faktur. Archiwizację staram się wykonywać przy każdym wyłączaniu programu (z resztą sam program mi o tym przypomina). Archiwa zapisuję na dysku F w folderze TECH-SAS a więc ścieżka do plików wygląda mniej więcej tak : F:\TECH-SAS

Kolejna sprawa to program WinSCP, który jest do pobrania tutaj -> https://winscp.net/eng/download.php

Pobieramy, instalujemy, gotowe.

WinSCP w moim przypadku zainstalował się w katalogu : C:\Program Files (x86)\WinSCP

Teraz możemy sprawdzić czy nasze do FTP są właściwe. Logujemy się uzupełniając wymagane dane.

Jeśli uda nam się zalogować, warto utworzyć sobie dedykowany folder, w którym trzymać będziemy kopie, tak, aby nie narobić bałaganu i nie pakować bliżej nieokreślonej ilości plików do głównego katalogu. Ja utworzyłem sobie /public_html/kopie

Mamy już przygotowane lokalizacje, czas to wszystko jakoś spiąć..

Napiszemy sobie mały skrypt. ale najpierw (dla zachowania porządku) utwórz nowy folder gdzieś na dysku – będziemy w nim trzymać skrypty. Ja zrobiłem na pulpicie i nazwałem go FTP_backup w tymże folderze tworzę nowy dokument tekstowy i nazywam go dowolnie. Ja nazwałem go skrypt.txt a w nim:

open ftp://user:pass@host
cd /public_html/kopie/
rm *.zip<7D
synchronize -filemask="*.zip*>3D" remote F:\TECH-SAS\ /public_html/kopie
  1. Zastępujemy user,pass i host swoimi danymi
  2. Na zdalnym serwerze przechodzimy do katalogu w którym mają być kopie
  3. Usuwamy pliki z rozszerzeniem .zip starsze niż np 7 dni (żeby nie zapchać pojemności)
  4. Wysyłamy na serwer pliki zip nie starsze niż 3 dni z lokalnego katalogu na zdalny (pliki które już istnieją nie zostaną wysłane więc nie ma co się martwić o transfer)

Teraz zróbmy drugi plik z rozszerzeniem .bat np ftp.bat a w nim:

cd C:\Program Files (x86)\WinSCP
WinSCP.com /script=C:\Users\Tadeusz\Desktop\FTP_backup\skrypt.txt
  1. Przejdź do katalogu z WinSCP
  2. Uruchom wskazany skrypt

Można powiedzieć, że gotowe. Aby przesłać archiwa na FTP wystarczy odpalić plik ftp.bat 

Dla wygody można też utworzyć sobie harmonogram, aby robił to za nas.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *