Go to main content

VPS: Tworzenie kopii zapasowych serwerów Linux za pomocą Rsync

Ten poradnik został stworzony z wykorzystaniem następujących produktów:

(Szczegóły mogą się różnić w zależności od produktów różnych dostawców, ale główne koncepcje pozostają takie same)

Rsync:

Kopie zapasowe można tworzyć za pomocą narzędzia Rsync.
Dane można kopiować na tym samym systemie do innego katalogu/dysku lub na system zdalny.

Kopiowanie danych do innego lokalnego katalogu lub dysku:

informacja

Uwaga: Pierwsze uruchomienie może potrwać znacznie dłużej niż kolejne, w zależności od ilości danych. Dzieje się tak, ponieważ Rsync za pierwszym razem synchronizuje wszystkie dane, a od drugiego uruchomienia synchronizowane są tylko zmienione pliki.

W ten sposób tworzona jest kopia przyrostowa.

Krok 1

Rsync można zainstalować poleceniem:

apt install rsync

Po instalacji można go od razu używać.

Krok 2

W tym przykładzie folder Client w /home ma być zsynchronizowany z folderem Backup w /home.

Można to zrobić poleceniem:

rsync -arz /home/Client /home/Backup

-a=Archiwizacja, atrybuty plików zostaną skopiowane


-r=Rekurencyjnie, synchronizowane są też podfoldery


-z=Kompresja, w zależności od ilości/rozmiaru danych są one kompresowane

Folder został pomyślnie zsynchronizowany.

Jeśli teraz jakiś plik w folderze Client zostanie usunięty, pozostanie on w folderze Backup.
Jeśli jednak pliki mają być zawsze zsynchronizowane 1:1, polecenie rsync można łatwo zmodyfikować, aby usunąć z folderu Backup dane, które nie istnieją już w folderze Client.

Zmodyfikowane polecenie to:

rsync -arz --delete /home/Client /home/Backup

-a=Archiwizacja, atrybuty plików zostaną skopiowane


-r=Rekurencyjnie, synchronizowane są też podfoldery


-z=Kompresja, w zależności od ilości/rozmiaru danych są one kompresowane


--delete= Usuwa dane, które nie istnieją już w źródle, ale nadal są w celu kopii zapasowej

Krok 3

Aby nie wykonywać polecenia ręcznie za każdym razem, można je umieścić w cronjobie.
Na przykład kopia zapasowa ma być tworzona codziennie o 3:00 rano:

Otwórz crontab -e:

Pod numerem 1 można wybrać edytor "nano".
Pod numerem 2 można wybrać edytor "vim".

Po otwarciu pliku np. w Nano, można wygenerować i wpisać crontab.
Crontab można wygenerować za pomocą tego Generatora.

Wpisany crontab wygląda wtedy tak:

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

Codziennie o 3:00 rano polecenie zostanie wykonane i zostanie utworzona kopia zapasowa.