Linux nima enega samega „gumba za varnostno kopijo”: glede na vrsto podatkov je primerno drugo orodje. Datoteke je treba kopirati ali arhivirati, podatkovne baze izpisati z lastnim orodjem za varnostno kopiranje, za celoten sistem pa je mogoče narediti posnetek. Spodaj predstavljamo najpogostejše metode in njihovo obnovitev. O strategiji varnostnega kopiranja (kaj, kam in kako pogosto) govori naš članek o varnostnem kopiranju VPS.
1. Kopiranje datotek z rsync
rsync kopira le spremenjene datoteke, zato je idealen za redne varnostne kopije. Ohrani dovoljenja, lastnike in datume ter zna prek SSH kopirati tudi na drug računalnik:
# Lokalna varnostna kopija na drug disk
rsync -a /var/www/ /mnt/mentes/www/
# Varnostna kopija na oddaljeni strežnik prek SSH
rsync -az /var/www/ mentes@backup.example.com:/mentesek/www/
Pri obnovitvi vir in cilj zamenjata mesti:
rsync -a mentes@backup.example.com:/mentesek/www/ /var/www/
Pazi na poševnico na koncu vira: /var/www/ kopira vsebino mape, /var/www pa samo mapo. O podrobnostih govori članek o kopiranju datotek med strežniki.
2. Arhiviranje s tar
Če želiš celotno stanje določenega trenutka ohraniti v eni sami datoteki, naredi stisnjen arhiv:
# Varnostna kopija
tar -czf /mentes/www-$(date +%F).tar.gz -C /var www
# Obnovitev
tar -xzf /mentes/www-2026-10-26.tar.gz -C /var
Datum v imenu datoteke pomaga ločiti več varnostnih kopij. Podrobneje: Ustvarjanje in razpakiranje arhiva tar.gz.
3. Varnostno kopiranje podatkovnih baz
Kopiranje datotek tekoče podatkovne baze ne da zanesljive varnostne kopije, ker se med kopiranjem spreminjajo. Uporabi lastno orodje sistema za upravljanje podatkovnih baz:
# Varnostna kopija MariaDB (na MySQL: mysqldump)
mariadb-dump --single-transaction --routines adatbazis | gzip > adatbazis.sql.gz
# Obnovitev (na MySQL: mysql)
gunzip < adatbazis.sql.gz | mariadb adatbazis
# Varnostna kopija in obnovitev PostgreSQL
pg_dump -Fc adatbazis > adatbazis.dump
pg_restore -d adatbazis adatbazis.dump
Stikalo --single-transaction pri tabelah InnoDB shrani konsistentno stanje brez zaklepanja. V novejših različicah MariaDB je ime ukaza mariadb-dump, staro ime mysqldump zaenkrat deluje, vendar ga MariaDB označuje kot zastarelega; v preizkusu je MariaDB 11.8 ob vsakem zagonu izpisal: mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead. Zgornje varnostno kopiranje in obnovitev sta se na testni podatkovni bazi (AlmaLinux 9, MariaDB 11.8) izvedla brezhibno, v obnovljeni tabeli so bile vse vrstice. O namestitvi MariaDB govori članek Namestitev strežnika podatkovnih baz MariaDB.
4. Posnetek (snapshot)
Posnetek zabeleži stanje celotnega diska v določenem trenutku, zato je mogoče po neuspešni posodobitvi hitro obnoviti celoten sistem. V Linuxu zna posnetek narediti tudi LVM, pri navideznem strežniku pa tudi plast virtualizacije (glej: Kaj je posnetek?). Posnetek je običajno na isti shrambi kot izvirni podatki, zato ne nadomesti varnostne kopije na drugem mestu.
5. Avtomatizacija
Ročna varnostna kopija prej ali slej izostane. Zgornje ukaze zberi v skripto in jo redno zaganjaj z opravilom cron. Za večje količine podatkov je smiselno uporabiti orodje, posebej narejeno za varnostno kopiranje (na primer program restic ali BorgBackup), ki šifrira, shranjuje le spremembe in upravlja tudi stare varnostne kopije.
Preveri obnovitev
Varnostna kopija je nekaj vredna le, če jo je mogoče tudi obnoviti. Občasno obnovi varnostno kopijo v testni imenik ali testno podatkovno bazo in preveri, ali so datoteke popolne in ali je podatkovno bazo mogoče naložiti. Pri arhivu tar -tzf mentes.tar.gz izpiše vsebino brez razpakiranja, gzip -t pa preveri celovitost stisnjene datoteke.
Če se ne želiš ukvarjati z varnostnimi kopijami in vzdrževanjem strežnika, to v okviru storitve upravljani VPS opravijo naši skrbniki.