Rsync használata
Gyors, hatékony, sokoldalú, távoli (és helyi) backup eszköz.
Egy alaprendszernek nem tartozéka, úgyhogy apt-get install rsync minden gépre, amivel (és amire) szinkronizálnál.
Kapcsolók
-a : Arhív mód. Rekurzívan másol, Jogosultságok, Módosítási dátumok, Tulajdonos és csoport adatok megtartásával.
-u : frissítés
-r : rekurzív
-n : dry-run azaz csak teszt. Tanulási folyamat idején ajánlott!
-l : symlink másolása symlink-ként.
-L : symlink-ból file/dir készítése
-p : jogosultságok megőrzése
-t : módosítási dátumok megőrzése
-g : csoport tulajdonság megőrzése
-o : tulajdonos megőrzése
-z : tömörítve küldi az adatokat.
-P : progress, azaz a futás tulajdonságainak (file, sebesség) megjelenítése
-v : bőbeszédű
-q : csendes üzemmód
-H : hard link-ek megtartása
-v4 : IPv4-et előnyben részesítve
-v6 : IPv6-ot előnyben részesítve
--stats : művelet végén rövid összegés
--existing : csak azon file-ok frissítése melyek már léteznek a célnál.
--delete : minden olyan adatot töröl a cél mappából, mely a forrás mappában (már) nem szerepel.
--force : erőltetett törlés, akkor is ha a mappa nem üres.
--delete-excluded : also delete excluded files on the receiving side
--address=ADDRESS : adott cím előnyben részesítése
--password-file=FILE : a futtató jelszavának FILE-ból felolvasása
--bwlimit=KBPS : I/O korlát, kByte-ban megadva
Példák
rsync -av source/ dest/
# archive, azaz mindent másol, (verbose kimenettel) az aktuális mappa source mappájából a dest-be.
rsync -avn source/ dest/
-n azaz dry-run, csak tesztel, kiirja mi fog történni.
# magyarán ha a sourcesrv mappa tartalma nőtt, és a fenti parancsot lefuttatjuk, meg fogja adni azon
# állományok/mappák nevét melyeket élesben másolna a /dest alá.
rsync -av --delete source/ dest/
--delete : minden olyan adatot töröl a cél mappából, mely a forrás mappában (már) nem szerepel.
# Tegyük fel, hogy a source és dest is tartalmaz 1-1 korábban szinkronizált temp mappát, mely a source-ról törlésre kerül.
# A fenti parancs törölni fogja sync során a dest helyről a temp mappát, hiszen az már nincs meg a source-ban,
# ezáltal lesz a két mappa szinkronban.
rsync -av :/home/user/backup/source/ /mnt/backup/dest/
# user nevében a 192.168.86.141-es IP mögötti /home/user/backup/source/ mappa tartalmának szinkronizálása a helyi
# filerendszer /mnt/backup/dest/ mappájával.
# távoli rsync-nél a túloldalra is kell rsync-et telepíteni!
rsync -av /mnt/backup/source/ :/home/user/backup/dest/
# a helyi file-rendszer source mappáját szinkronizálja user nevében a 192.168.86.141-es gép /home/user/backup/dest mappájával
# távoli rsync-nél a túloldalra is kell rsync-et telepíteni!
rsync -av --exclude=dir1 source/ dest/
# source szinkronizálása dest mappába, kivéve a dir1 mappát és tartalmát
rsync -av --exclude-from=FILE source/ dest/
# source szinkronizálása dest mappába, kivéve a FILE file-ban felsorolt mappákat/állományokat.
Kulcs alapú hitelesítés beállítása
Azaz ha jelszó megadása nélkül szeretnél szinkronizálni távoli gépre ssh kulcs segítségével.
ssh-keygen
# Azon a gépen, ahol futtatod az rsync parancsot, a szükséges user nevében!
# Passphrase elérési útvonala maradthat default (Enter)
# Passphrase azaz a jelszó maradjon üres. (Enter)
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.86.141
# azaz a frissen létrehozott publikus kulcs elhelyezése a távoli gépre.
# Ezt követően már az ssh és az rsync is menni fog jelszó nélkül.