přidán návod Rsyc
This commit is contained in:
parent
36a8c18de0
commit
f5b13a562c
136
Systémová údržba/backup-rsync.md
Normal file
136
Systémová údržba/backup-rsync.md
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
# Rsync – Efektivní nástroj pro synchronizaci a zálohování
|
||||||
|
|
||||||
|
## Co je Rsync?
|
||||||
|
|
||||||
|
**Rsync** je nástroj pro Linux a Unix, který umožňuje efektivní kopírování a synchronizaci souborů a adresářů mezi dvěma umístěními. Díky své rychlosti a flexibilitě je skvělý pro pravidelné zálohování a přenos dat.
|
||||||
|
|
||||||
|
### Výhody Rsync
|
||||||
|
|
||||||
|
- **Rychlost a efektivita**: Přenáší pouze změněné nebo nové soubory.
|
||||||
|
- **Flexibilita**: Umožňuje lokální i vzdálenou synchronizaci přes SSH.
|
||||||
|
- **Bezpečnost**: Možnost šifrovaného přenosu přes SSH.
|
||||||
|
- **Automatizace**: Lze snadno použít v shell skriptech nebo cron úlohách.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Základní Syntaxe
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync [volby] zdroj cíl
|
||||||
|
```
|
||||||
|
|
||||||
|
## Časté volby
|
||||||
|
|
||||||
|
- -a: Archivní režim (zachovává atributy jako vlastnictví, oprávnění atd.).
|
||||||
|
- -v: Verbose (zobrazuje podrobné informace o procesu).
|
||||||
|
- -h: Human-readable (přehledné zobrazování velikostí)
|
||||||
|
- -z: Komprimuje data během přenosu (pro zrychlení).
|
||||||
|
- -e ssh: Umožňuje přenos přes SSH.
|
||||||
|
- -delete: Smaže soubory v cílovém umístění, které nejsou ve zdrojovém.
|
||||||
|
|
||||||
|
## Příklady použití Rsync
|
||||||
|
|
||||||
|
### 1. Základní kopírování souborů a složek
|
||||||
|
|
||||||
|
Synchronizace adresáře „data“ z místního do jiného adresáře na stejném disku:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync -avh /domaci/data/ /domaci/zaloha/data/
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Kopírování přes SSH na vzdálený server
|
||||||
|
|
||||||
|
Přenese obsah adresáře „data“ na vzdálený server s IP adresou 192.168.1.10:
|
||||||
|
```bash
|
||||||
|
rsync -avh -e ssh /domaci/data/ uzivatel@192.168.1.10:/domaci/zaloha/data/
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Kopírování a mazání souborů, které již nejsou ve zdroji
|
||||||
|
|
||||||
|
Kopírování s možností smazání všech souborů v cíli, které nejsou ve zdroji:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync -avh --delete /domaci/data/ /domaci/zaloha/data/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Jednoduchý zálohovací skript s Rsync
|
||||||
|
|
||||||
|
Tento skript provede zálohu složky /home/uzivatel/data do složky /backup/data. Stačí zkopírovat a upravit cesty podle potřeby.
|
||||||
|
|
||||||
|
1. Vytvoř nový skript:
|
||||||
|
```bash
|
||||||
|
nano ~/zaloha.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Vlož následující kód:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Nastavení cesty ke zdroji a cíli
|
||||||
|
ZDROJ="/home/uzivatel/data/"
|
||||||
|
CIL="/backup/data/"
|
||||||
|
|
||||||
|
# Spuštění rsync s potřebnými volbami
|
||||||
|
rsync -avh --delete "$ZDROJ" "$CIL"
|
||||||
|
|
||||||
|
# Výpis zprávy o úspěchu
|
||||||
|
echo "Záloha dokončena: $(date)"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Skript ulož a ukonči editor.
|
||||||
|
|
||||||
|
4. Nastav spustitelný příznak skriptu
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chmod +x ~/zaloha.sh
|
||||||
|
```
|
||||||
|
5. Skript spusť:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./zaloha.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Skript provede synchronizaci mezi složkami a vypíše potvrzení o dokončení s aktuálním časem.
|
||||||
|
|
||||||
|
## Obnova dat pomocí Rsync
|
||||||
|
|
||||||
|
Před obnovou se ujisti, že máš správnou cestu ke zdroji (místo, kde máš zálohu) a cíl (místo, kam chceš soubory obnovit).
|
||||||
|
|
||||||
|
### Příklad obnovy lokálních souborů
|
||||||
|
|
||||||
|
Pokud záloha existuje v adresáři `/backup/data/` a chceš obnovit soubory do `/home/uzivatel/data/`, použij následující příkaz:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync -avh /backup/data/ /home/uzivatel/data/
|
||||||
|
```
|
||||||
|
### Obnova s možností mazání nepotřebných souborů
|
||||||
|
|
||||||
|
Pokud chceš obnovit data a zároveň odstranit soubory v cílové složce, které nejsou ve zdrojové složce (používá se při obnově na původní stav), přidej volbu --delete:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync -avh --delete /backup/data/ /home/uzivatel/data/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Obnova ze vzdáleného serveru
|
||||||
|
|
||||||
|
Pokud je záloha na vzdáleném serveru, obnovu můžeš provést podobně, přidáním `-e ssh` a zadáním vzdálené adresy:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync -avh -e ssh uzivatel@192.168.1.10:/backup/data/ /home/uzivatel/data/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Automatizace záloh pomocí Cron
|
||||||
|
|
||||||
|
1. Otevři cron editor:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
crontab -e
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Přidej řádek:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
0 2 * * * /home/uzivatel/zaloha.sh
|
||||||
|
```
|
||||||
|
Tento příkaz zajistí, že se záloha spustí každý den ve 2:00.
|
Loading…
Reference in New Issue
Block a user