Synchronizacja danych w Linuksie przy pomocy rsync

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Program rsync[1] umożliwia w Linuksie jednokierunkową synchronizację danych katalogu źródła z katalogiem docelowym. Oba katalogi mogą się znajdować w różnych komputerach (synchronizacja odbywa się przez sieć).

Przykład: Synchronizacja danych w celu backupu

Często program rsync wykorzystywany jest do backupu. Za pośrednictwem następującego, przykładowego polecenia katalog /home/ serwera server.example.com zostaje zsynchronizowany z katalogiem /mnt/server-mirror/home/ lokalnej maszyny. Transfer danych odbywa się przez SSH:

rsync -av --delete -e ssh root@server.example.com:/home/ /mnt/server-mirror/home/

Jeżeli rsync ma być wykorzystywany w skrypcie to uwierzytelnienie może zostać przeprowadzone przez klucz SSH:

rsync -av --delete -e "ssh -i /home/user/.ssh/sshkey" root@server.example.com:/home/ /mnt/server-mirror/home/

Wskazane opcje rsync mają następujące znaczenie:

  • -a (skrót dla --archive): takie samo znaczenie jak -rlptgoD
    • -r (skrót dla --recursive): kopiowanie podkatalogów
    • -l (skrót dla --links): kopiowanie symbolicznych linków
    • -p (skrót dla --perms): zachowanie uprawnień pliku źródłowego
    • -t (skrót dla --times): zachowanie czasów pliku źródłowego
    • -g (skrót dla --group): zachowanie uprawnień grupowych pliku źródłowego
    • -o (skrót dla --owner): zachowanie prawa własności do pliku źródłowego (możliwe jedynie jako root)
    • -D (skrót dla --devices --specials): zachowanie plików urządzenia pliku źródłowego (możliwe jedynie jako root)
  • -v (skrót dla --verbose): pokazuje podczas wykonywania, które pliki są synchronizowane
  • --delete: usuwa pliki w katalogu docelowym, które w międzyczasie nie są już obecne w katalogu źródłowym

Wersja backupu z rdiff-backup

W przypadku gdy w katalogu źródłowym pomyłkowo zostanie usunięty jeden plik i następnie przeprowadzony rsync to ten plik jest oczywiście również nieobecny w katalogu docelowym. W takich przypadkach optymalnym uzupełnieniem rsync jest rdiff-backup.

Odnośniki

Dalsze informacje

Powiązane artykuły

GPIO w LES plus
Informacje o Intel Data Center Manager
Podstawowe informacje o Page Cache w Linuksie