BackupsMSL: verschil tussen versies
(→main host 192.168.5.1) |
(→deur-db 192.168.4.2) |
||
Regel 51: | Regel 51: | ||
mount -t ext4 | awk '{print $3 }' | while read dir | mount -t ext4 | awk '{print $3 }' | while read dir | ||
do | do | ||
− | + | rsync -xCaz $dir --exclude '/proc/**' --exclude '/dev/**' --exclude '/sys/**' backup-msl:/usr/home/backup-msl/msl-deurdb | |
done | done | ||
Versie van 22 feb 2018 om 17:44
Backup setup (temporary).
Common setup
A pub/private keypair; with a blind, incremental rsync over ssh.
It relies on
.ssh/config .ssh/id_rsa
for its config and data.
main host 192.168.5.1
File in
/usr/local/etc/periodic/daily/999.backup
which does an incremental backup (rsync) of all mounted UFS volumes.
#!/bin/sh E=0 echo Offsite backups: mount -p -t ufs | awk '{print $2 }' | while read dir do /bin/echo -n " $dir:" if rsync -xCaz $dir --exclude "**/dev/**" backup-msl:/usr/home/backup-msl/msl-main; then echo OK - completed without error. else E=$? echo failed. fi done echo exit $E
scheduling, capturing the output, logging and email-alerts are all handled as per periodic(8)[1].
deur-db 192.168.4.2
File in
/home/mvn/backup.sh
which does an incremental backup (rsync) of all mounted EXT4 volumes - excluding the devices:
#!/bin/sh mount -t ext4 | awk '{print $3 }' | while read dir do rsync -xCaz $dir --exclude '/proc/**' --exclude '/dev/**' --exclude '/sys/**' backup-msl:/usr/home/backup-msl/msl-deurdb done
This is called by crontab:
MAILTO=xxx@xxxx.com 0 3 * * * test -x /home/mvn/backup.sh && /home/mvn/backup.sh > /var/log/backup.log 2&>1
with a quick sentinel and we're keeping a log of the most recent backups.
Destination
On the destination server:
command="/usr/local/bin/rsync --server -logDtprCze.iLsfxC . backup-msl/msl-main",,restrict,no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa ....
backed by an encrypted FS with a daily zfs-snapshot post the backup run; which ultimately gets offloaded onto tape. The rentention policy is currently 5 years (to be adjusted).