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
- Zastępujemy user,pass i host swoimi danymi
- Na zdalnym serwerze przechodzimy do katalogu w którym mają być kopie
- Usuwamy pliki z rozszerzeniem .zip starsze niż np 7 dni (żeby nie zapchać pojemności)
- 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
- Przejdź do katalogu z WinSCP
- 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.