Varnostna kopija (backup) je edina obramba pred izgubo podatkov — odpoved diska, napaka pri ukazu rm, virus ali kraja računalnika lahko v trenutku uničita leta dela. V tem članku si bomo ogledali, kako v Linuxu naredimo varnostno kopijo z orodji, ki so že v sistemu: rsync, tar in cron. Brez dodatnih programov, brez oblaka, brez stroškov.
Zlati standard: pravilo 3-2-1
Preden se lotimo orodij, poglejmo splošno sprejeto pravilo varnostnega kopiranja:
- 3 kopije podatkov — izvirnik plus dve varnostni kopiji
- 2 različni medija — npr. notranji disk in zunanji USB disk
- 1 kopija izven lokacije — prijatelj, sef ali šifriran oblak
Zakaj toliko kopij? Ker odpadejo stvari, ki si jih ne predstavljamo: zunanji disk, ki leži ob računalniku, pogori skupaj z njim, če pride do požara ali vloma.
rsync — kralj sinhronizacije
rsync je najbolj priljubljeno orodje za varnostne kopije v Linuxu. Njegova največja prednost je, da prenaša samo spremenjene dele datotek — prva kopija traja dolgo, vse nadaljnje pa so hitre.
# Osnovna kopija domače mape na zunanji disk rsync -av ~/ /media/uporabnik/zunanji-disk/rezerva/ # Razlaga stikal: # -a (archive) ohrani pravice, čase, simbolične povezave # -v (verbose) izpisuje, kaj se kopira
Najpogosteje uporabljena oblika vključuje še stikalo --delete, ki ima pomembno past:
# Kopija, ki je povsem enaka izvirniku # (izbriše datoteke na cilju, ki jih ni več v izvirniku!) rsync -av --delete ~/ /media/uporabnik/zunanji-disk/rezerva/
POMEMBNO: Bodite pozorni na zaključno poševnico (/) pri izvorni poti! ~/ pomeni vsebino mape, ~ pa mapo samu. Napačna poševnica lahko povzroči gnezdene mape ali neželeno brisanje.
Uporabna dodatna stikala:
| Stikalo | Pomen | Kdaj uporabiti |
|---|---|---|
| --delete | Izbriše na cilju, česar ni v izvirniku | Zrcalne (mirror) kopije |
| --dry-run | Samo simulacija — nič se ne spremeni | Vedno pred prvim zagonom! |
| -z | Stiska podatke med prenosom | Kopija čez omrežje |
| --exclude | Izloči mape ali datoteke | --exclude="cache/*" |
| --progress | Prikaže napredek | Večje kopije |
rsync prek omrežja (SSH)
Če imate doma drug računalnik ali strežnik, lahko kopirate prek SSH — podatki so med prenosom šifrirani:
# Kopija domače mape na oddaljeni strežnik rsync -avz ~/backup/ uporabnik@192.168.1.20:/mnt/rezerva/ # In obratno — obnovitev s strežnika rsync -avz uporabnik@192.168.1.20:/mnt/rezerva/ ~/backup/
Za povezavo brez vsakokratnega vpisa gesla si nastavite SSH ključe (glej članek o SSH).
tar — arhiv na enem mestu
Kjer rsync dela z živo kopijo map, tar ustvari eno samostojno arhivsko datoteko. Primerno je za shranjevanje na drug disk ali prenos v oblak:
# Ustvari stisnjen arhiv domače mape z datumom tar -czvf rezerva-$(date +%Y-%m-%d).tar.gz ~/ # Razlaga stikal: # -c (create) ustvari arhiv # -z (gzip) stiskanje z gzip # -v (verbose) izpisuje datoteke # -f (file) ime izhodne datoteke
Obnova iz arhiva:
# Odpakiraj arhiv v trenutno mapo tar -xzvf rezerva-2026-09-03.tar.gz # Odpakiraj v določeno mapo tar -xzvf rezerva-2026-09-03.tar.gz -C ~/obnovljeno/
Nasvet: Arhivom dodajte datum v ime (kot zgoraj z $(date +%Y-%m-%d)), da imate zgodovino kopij in veste, kdaj je bila katera narejena.
cron — samodejno kopiranje
Najboljša varnostna kopija je tista, ki se naredi sama. Z cron-om lahko nastavimo samodejno izvajanje ponoči:
# Odpri urnik svojega uporabnika crontab -e # Dodaš vrstico: vsak dan ob 23:00 izvedi rsync 0 23 * * * rsync -a --delete ~/dokumenti/ /media/uporabnik/zunanji-disk/rezerva/
Razlaga polj cron-a (pet stolpcev pred ukazom):
| Polje | Vrednost v primeru | Pomen |
|---|---|---|
| Minuta | 0 | Točno ob polnoči ure nič minut |
| Ura | 23 | Ob 23:00 |
| Dan v mesecu | * | Vsak dan |
| Mesec | * | Vsak mesec |
| Dan v tednu | * | Vse dni v tednu |
Preverjanje, ali se je naloga izvedla, je najlažje z dnevnikom:
# Dnevnik cron-a grep CRON /var/log/syslog # Ali pošlji izpis ukaza v svojo dnevniško datoteko 0 23 * * * rsync -a ~/dokumenti/ /media/rezerva/ >> ~/backup.log 2>&1
Šifrirana kopija
Kopija na zunanjem disku ali v oblaku naj bo šifrirana — kraden disk pomeni, da so podatki preprosto odprti. V Linuxu je na voljo cryptsetup in LUKS za šifriranje celega diskovnega oddelka, enostavnejša pot pa je gpg:
# Najprej ustvari arhiv, nato ga šifriraj z geslom tar -czf - ~/dokumenti | gpg -c -o rezerva.tar.gz.gpg # Obnova: odšifriraj in odpakiraj gpg -d rezerva.tar.gz.gpg | tar -xzvf -
Šifrirana kopija, ki jo odnesete k prijatelju ali v sef, zadovolji tretji del pravila 3-2-1 — izven lokacije, a varna pred tujci.
Kdaj katero orodje?
| Orodje | Kdaj ga uporabiti | Slabost |
|---|---|---|
| rsync | Redne kopije na zunanji disk ali strežnik | Zrcalna kopija brez zgodovine (brez --backup) |
| tar | Občasni arhivi, ki jih prenašate drugam | Vedno kopira vse znova |
| tar + gpg | Kopije, ki zapustijo vaš dom | Počasneje, geslo morate imeti shranjeno varno |
| cron + rsync | Samodejno vsakodnevno kopiranje | Zahteva, da je ciljni disk priklopljen |
Pogoste napake
- Nobenega preizkusa obnove: Kopija, ki je nikoli niste obnovili, morda ne deluje. Obnovo preizkusite, preden jo potrebujete
- --delete brez --dry-run: Eden najhitrejših načinov za izgubo podatkov. Vedno najprej simulirajte
- Kopija na istem disku: Ko odpade disk, odpadejo skupaj izvirnik in kopija
- Nešifriran zunanji disk: Izgubljen USB disk z davčnimi dokumenti je kraj podatkov
- Zaupanje samo oblaku: Oblak je odvisen od ponudnika in internetne povezave — imejte lokalno kopijo vsaj za najpomembnejše podatke
Zaključek
Varnostna kopija ni vprašanje ali, temveč kdaj se bo disk pokvaril ali kdaj boste pomotoma izbrisali napačno mapo. Z rsync-om, tar-jem in cron-om ima vsak Linux uporabnik pri roki popolno orodjarno za varnostno kopiranje — brezplačno in brez odvisnosti od zunanjih storitev. Začnite že danes: ena vrstica v crontab-u in zunanji disk sta lahko razlika med nadlogo in rešitvijo.