Portál AbcLinuxu, 8. května 2025 04:32
--link-dest=DIR
, která ukazuje na předchozí zálohu.
Druhá možnost je pomocí btrfs snapshotů, kdy uděláš prostý rsync a pak read-only snapshot, tedy něco jako rsync -ar src/ dst/latest/ && btrfs subvolume snapshot -r dst/latest/ dst/`date +%F_%T`
. Snapshoty si budou držet jen změny a manipuluje se s tím lépe než s hardlinky. Také nehrozí přepsání všech kopií zásahem do jedné zálohy. Je to asi nejlepší možnost.
Třetí možnost je použít volbu --compare-dest
. Podle dokumentace by to mělo dělat přesně to, co chceš, ale nejsem si jist, zda to je dobrý nápad. Bude trochu obtížné takové zálohy obnovovat.
/srv/backup/$název_stroje/latest
je subvolume, kam se rsyncem zálohuje, a pak /srv/backup/$název_stroje/$(date '+%F %T')
je název snapshotu. Přičemž do /srv/backup
je mountnutý zálohovací disk. V rámci každé zálohy mám několik adresářů pro různé věci, neboť někde mám ještě nějaký ten dump databáze, samostatně odzálohované oddíly a podobně. Snapshot je však jen jeden pro celou takovou zálohu, neboť zálohované věci se občas mění a je žádoucí je mít konzistentně pohromadě.
Ve výsledku je to asi to nejjednodušší, co se dá na zálohování použít. Napíšeš si jeden triviální skript, který zavolá rsync a udělá snapshot, ten pak necháš volat cronem, takže výpisy ti chodí mailem.
K dokonalosti tomu chybí jen automatické mazání snapshotů podle volného místa na disku. To dělám čas od času ručně, neboť disk je velký a není to úplně triviální naprogramovat správně.
btrfs subvolume snapshot -r / /.snapshots_root/root && sync- to vytvoří readonly (volba
-r
) kořene (volba /
) v "podadresáři /.snapshots_root/root
snapshot pojmenovaný root (podle toho co zadáš za posledním lomítkem)
pak připojíš adresář kam chceš zálohovat - třeba:
sshfs root@192.168.1.101:/mnt/sda/backup /media/backup/a pomocí
rsnapshot -V hourlytam ten snapshot nacpeš - ale musíš mít v
/etc/rsnapshot.conf
nastavený cesty a další věci!!! - dobrý návod je třeba tady
rsync -vrcE --itemize-changes --stats --progress --compare-dest=$BACKUPDIR $SOURCEDIR $DIFFDIR
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.