# RSYNC príkazy a praktické použitie

**URL:** <https://forum.linuxdoma.sk/t/rsync-prikazy-a-prakticke-pouzitie/29>\
**Category:** Návody\
**Created:** [Máj 22, 2024, 1:21pm UTC](https://forum.linuxdoma.sk/t/rsync-prikazy-a-prakticke-pouzitie/29 "2024-05-22T13:21:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tony](https://forum.linuxdoma.sk/user_avatar/forum.linuxdoma.sk/tony/32/259_2.png) [@Tony](https://forum.linuxdoma.sk/u/Tony)\
**Post date:** [Máj 22, 2024, 1:21pm UTC](https://forum.linuxdoma.sk/t/rsync-prikazy-a-prakticke-pouzitie/29/1 "2024-05-22T13:21:32Z")

</div>

# RSYNC

RSYNC je nástroj pre efektívnu synchronizáciu a prenos súborov medzi počítačovými systémami cez sieť alebo lokálne. Umožňuje užívateľom kopírovať a zrkadliť súbory a adresáre rýchlo a s minimalizáciou prenesených dát tým, že prenáša iba zmenené časti súborov. RSYNC ponúka možnosti pre šifrovanie prenosových dát pomocou SSH, kompresiu dát pre zvýšenie efektivity prenosu, a podporuje aj pokročilé funkcie ako inkrementálne zálohovanie a filtráciu súborov. Jeho flexibilita a efektívnosť robia z RSYNC obľúbený nástroj pre systémových administrátorov pre údržbu záloh, zrkadlenie dát a optimalizované prenosy súborov. Navyše, RSYNC je dostupný pre mnohé operačné systémy, čo umožňuje jeho široké využitie v rôznych prostrediach a platformách.

# Rsync Príkazy a ich Použitie

## LOKÁLNA SYNCHRONIZÁCIA

### Bez kompresie

```auto
rsync -avhP zdroj/ destinacia

```

- `-a` (archive) režim znamená, že rsync bude kopírovať súbory rekurzívne a to tak, že zachová symbolické odkazy, oprávnenia, časy, skupiny a vlastníctva.
- `-v` (verbose) zobrazuje podrobné informácie o tom, čo rsync robí.
- `-h` (human-readable) zobrazuje veľkosti súborov v ľahko čitateľnej forme.
- `-P` kombinuje `--partial` a `--progress`. `--partial` znamená, že pri prerušenom prenose sa čiastočne prenesené súbory nezmažú, ale zostanú uložené. `--progress` zobrazuje priebežný stav prenosu.

### S kompresiou

```auto
rsync -ahPz zdrojovy_adresar/ destinacia

```

- `-z` (compress) aktivuje kompresiu dát počas prenosu, čo môže zrýchliť prenos dát cez pomalšie sieťové spojenia.

## PARAMETER DELETE → MIRROR

```auto
rsync -ahPz --delete zdrojovy_adresar/ destinacia

```

- `--delete` odstraňuje súbory v cieľovom adresári, ktoré už neexistujú v zdrojovom adresári, čím zabezpečuje presné zrkadlenie obsahu.

## VZDIALENÁ SYNCHRONIZÁCIA

### Z lokálu na server

```auto
rsync -ahPz zdrojovy_adresar tony@192.168.1.39:/tony

```

### Zo serveru na lokál

```auto
rsync -ahPz tony@192.168.1.39:/tony/zdrojovy_adresar/ lokalny_adresar/

```

### Z lokálu na server - iný port

```auto
rsync -ahPze 'ssh -p 2211' zdrojovy_adresar tony@192.168.1.39:/tony

```

- `-e` (remote shell) umožňuje špecifikovať, ktorý shell sa má použiť na vzdialenom serveri. V tomto prípade sa používa SSH s iným portom (`-p 2211`).

## PRÍKLAD S POKROČILEJŠÍMI SSH PARAMETRAMI

```auto
rsync -r -a -v -e "ssh -i ssh.key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" --delete /WWW_ADRESAR deploy@SERVER/WWW_ADRESAR

```

- Používa viacero SSH parametrov pre zabezpečené pripojenie bez interaktívnej verifikácie hostiteľa.

## POUŽITIE S ALIASOM V .SSH/CONFIG

```auto
rsync -ahP nazov_suboru.jpg cachy:/home/tony/Pictures

```

- Využíva alias `cachy`, ktorý je definovaný v súbore `.ssh/config`, čo uľahčuje prácu s často používanými servermi.

---

<div class="post-metadata">

**Author:** ![Tony](https://forum.linuxdoma.sk/user_avatar/forum.linuxdoma.sk/tony/32/259_2.png) [@Tony](https://forum.linuxdoma.sk/u/Tony)\
**Post date:** [Október 2, 2024, 12:10pm UTC](https://forum.linuxdoma.sk/t/rsync-prikazy-a-prakticke-pouzitie/29/2 "2024-10-02T12:10:33Z")

</div>

### Príkaz `rsync` pre synchronizáciu dát so serverom Nextcloud

Tento príkaz slúži na synchronizáciu súborov zo vzdialeného servera **Nextcloud** na lokálny dátový disk, pričom zachováva oprávnenia, komprimuje dáta počas prenosu a obmedzuje maximálnu prenosovú rýchlosť. Okrem toho, súbory, ktoré boli odstránené zo zdrojového adresára, budú odstránené aj z cieľového umiestnenia.

#### Príkaz:

```bash
rsync -ahPz --delete --bwlimit=97280 nextcloud:/home/tony/Media-files/ /mnt/xfs4tera/tony/Media-files/

```

### Rozpis jednotlivých častí príkazu:

- **`rsync`** : Nástroj na synchronizáciu súborov a adresárov medzi dvoma miestami, ktorý je optimalizovaný na efektívny prenos dát.

- **`-a`** (archive):

- **`-h`** (human-readable):

- **`-P`** (progress and partial):

- **`-z`** (compress):

- **`--delete`** :

- **`--bwlimit=97280`** :

- **`nextcloud:/home/tony/Media-files/`** :

- **`/mnt/xfs4tera/tony/Media-files/`** :

### Výhody tohto príkazu:

1. **Zachovanie atribútov** : Vďaka prepínaču `-a` budú všetky súbory a adresáre prenesené so zachovaním oprávnení, vlastníkov a časových pečiatok, čo je nevyhnutné pre správne fungovanie dát.

2. **Kompresia dát** : Použitie `-z` šetrí šírku pásma počas prenosu, najmä pri synchronizácii cez pomalšie siete.

3. **Priebežné zobrazenie** : Pomocou `-P` vidíš priebeh každého súboru počas prenosu, čo ti umožňuje sledovať proces v reálnom čase.

4. **Obnovenie prerušeného prenosu** : Ak by sa prenos prerušil, `rsync` dokáže pokračovať od miesta, kde prestal, bez nutnosti opätovne prenášať celý súbor.

5. **Obmedzenie prenosovej rýchlosti** : Parameter `--bwlimit` ti umožňuje kontrolovať rýchlosť prenosu dát, čo je užitočné, ak nechceš zaťažiť sieťovú šírku pásma pri iných dôležitých úlohách.

6. **Úplná synchronizácia** : Parameter `--delete` zabezpečuje, že cieľová zložka bude presne zrkadliť zdrojovú zložku. Akékoľvek zmeny, vrátane odstránených súborov na serveri, sa odrazia aj na lokálnom disku.

### Poznámky:

- Pri používaní `--delete` buď opatrný, pretože odstráni súbory aj z cieľovej zložky. Pred spustením príkazu je vhodné overiť, či je zdrojová cesta správna.
- Kompresia môže byť menej efektívna pri veľkých multimediálnych súboroch (filmy, hudba), ktoré sú už často komprimované.
