Want to make backups of your VyOS router/firewall, This little script might help, It takes the config and converts it into set commands for easy restore on another box. We push it to an RSYNC on a ZFS/Nexenta server, but you put it anywhere as you like. Schedule it through Cron or better through the system task scheduler.
Don’t forget to use the commit archive to record your changes for the audit trails, like so :
set system config-management commit-archive location 'scp://admin:<password>@x.x.x.x/volumes/pool1/backup/vyos'
VyOS backup.sh Script: (store in /config/scripts/backup/ and do not forget to make it executable : chmod +x /config/scripts/backup/backup.sh)
# Vyos (1.6) Backup Script (firstname.lastname@example.org) # Fetch me with scp email@example.com:/volumes/pool1/backup/vyos/backup.sh /config/scripts/backup/backup.sh # Keep 5 versions local # # Schedule with: # # set system task-scheduler task backup executable path '/config/scripts/backup/backup.sh' # set system task-scheduler task backup interval '8h' h=$(hostname) d=$(date +"%Y%m%d%H%M") dest=192.168.1.200::pool1_backup/vyos scripts=/config/scripts/backup cd $scripts tar -czf $scripts/backup-auth-$h-$d.tar.gz /config/auth /opt/vyatta/sbin/vyatta-config-gen-sets.pl > $scripts"/backup-config-"$h"-"$d".txt" ls -F backup-config-$h*.txt | head -n -5 | xargs rm ls -F backup-auth-$h*.tar.gz | head -n -5 | xargs rm rsync $scripts/backup-config-$h-$d.txt $dest/$h rsync $scripts/backup-auth-$h-$d.tar.gz $dest/$h