#!/bin/sh # OpenBSD backup script. Symlink into /backup.sh for use. # Make sure you update /etc/fstab appropriately before rebooting after # restore # To restore packages: pkg_add -l /root/packages.lst IFS=' ' _paths='/root /etc /home /var/redis /var/cron /var/mail /var/nsd /var/service /var/sshkeys /var/unbound /var/www/htdocs /var/rspamd /var/spool/smtpd' list="$(mktemp)" ref="$(mktemp)" trap 'rm "$list" "$ref"' EXIT INT touch -d $(date -r $(($(date +%s) - 86400)) +%Y-%m-%dT%H:%M:%S) "$ref" pkg_info -mz > /root/packages.lst if [ "$1" = daily ] ; then find $_paths -newer "$ref" -type f > "$list" else find $_paths -type f > "$list" fi tar -I "$list" -cf - \ | zstd -3c