Borg
Info
Borg on deduplikeeriv, pakkiv ja krüpteeriv varundustarkvara mis sisaldab endas kõiki häid omadusi mida omab rsync hardlinkimine ja veel palju muid hõlbustavaid asju.
Paigaldamine
Arch linuxis on olemas pakk borg, FreeBSD all tundub tuleb paigaldada py-borgbackup, debianis apt install borgbackup
Enne kui backupima saab asuda tuleb initsialiseerida repo
borg init /path/to/repo
Backupime srv kausta reposse esmaspäev
borg create /path/to/repo::esmaspaev /srv
Tekitame teise varukoopia nimega teisipaev
borg create -v --stats /path/to/repo::teisipaev /srv
See varukoopia läks juba palju kiiremalt kuna andmed olid juba enamuses olemas
Vaatame mis varukoopiad olemas
borg list /path/to/repo
Vaatame esmaspaeva arhiivi sisu
borg list /path/to/repo::esmaspaev
Taastame esmaspaeva varukooia
borg extract /path/to/repo::esmaspaev
Kaugel asuvasse varundusserverisse varukoopiate tegemine käib üle ssh
borg init user@hostname:/path/to/repo
Ja siis näiteks
borg create -v --stats borg@varundaja:/srv/borgtest/backup::'{hostname}-{now:%Y-%m-%d}' /srv/ ------------------------------------------------------------------------------ Archive name: post.zoo.tartu.ee-2016-09-19 Archive fingerprint: a39758a9e1b8dd894c673c1bfh6e3f0fd113c181a6aeffcc9165b2336c06040b Time (start): Mon, 2016-09-19 14:11:39 Time (end): Tue, 2016-09-20 06:11:28 Duration: 15 hours 59 minutes 48.46 seconds Number of files: 3523368 ------------------------------------------------------------------------------ Original size Compressed size Deduplicated size This archive: 240.67 GB 240.83 GB 158.99 GB All archives: 240.67 GB 240.83 GB 158.99 GB Unique chunks Total chunks Chunk index: 2601470 3590384 ------------------------------------------------------------------------------
Varukoopia protsessi automatiseerimiseks tuleb kasutusele võtta ssh võtmed
Skript automaatse varukoopia tegemiseks serveri kaustadest /home ja /var/www
#!/bin/sh
REPOSITORY=username@remoteserver.com:backup
# Backup all of /home and /var/www except a few
# excluded directories
borg create -v --stats \
$REPOSITORY::'{hostname}-{now:%Y-%m-%d}' \
/home \
/var/www \
--exclude '/home/*/.cache' \
--exclude '*.pyc'
borg prune -v $REPOSITORY --prefix '{hostname}-' \
--keep-daily=7 --keep-weekly=4 --keep-monthly=6
https://github.com/witten/borgmatic skript backupide lihtsustamiseks