Przejdź do głównej treści

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

Idealne produkty do tego poradnika

Zacznij od razu — zamów odpowiedni produkt i postępuj zgodnie z tym poradnikiem krok po kroku.

Wprowadzenie

Kopie zapasowe można tworzyć za pomocą narzędzia Rsync. Dane mogą być kopiowane na tym samym systemie lokalnym 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. Wynika to z faktu, że Rsync przy pierwszym uruchomieniu synchronizuje wszystkie dane, natomiast od drugiego razu 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 katalogu /home ma zostać zsynchronizowany z folderem Backup w katalogu /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 następuje kompresja

Folder został pomyślnie zsynchronizowany.

Jeśli teraz jakiś plik w folderze Client zostanie usunięty, pozostanie on w folderze Backup. Ponieważ jednak pliki powinny 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 następuje kompresja


--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 zadaniu cron. Na przykład kopia zapasowa ma być tworzona codziennie o 3 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ć zadanie crontab. Crontab można wygenerować za pomocą tego Generatora.

Wpisane zadanie 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 rano polecenie jest wykonywane i tworzona jest kopia zapasowa.