OpenWrt Backup Script with Exclusions Specified
This script will generate a similar backup archive file to the one we can download using luci web interface. So, you can use it for restoration as well.
The only purpose of using this script is if you don't want specific files to be included in your backup archive file.
- Create two directories
mkdir /root/backup; mkdir /root/scripts
. - Get all these three files to
/root/scripts/
. - Make the script executable
chmod +x /root/scripts/backup.sh
. - Run the script
/root/scripts/backup.sh
. - Backup file will be available at
/root/backup/
along with asha256
checksum file.
- backup-files-include
This file will be generated by script automatically using "sysupgrade --list-backup" command.
- backup-files-exclude
.keep* .placeholder* etc/opkg/keys/*
- backup.sh
#!/bin/sh backdir=/root/backup/ backfile=backup-$(uci get system.@system[0].hostname) backinclude=/root/scripts/backup-files-include backexclude=/root/scripts/backup-files-exclude # tar backup with gzip and checksum generation sysupgrade --list-backup > $backinclude tar c -v -T $backinclude -X $backexclude -f - | gzip > $backdir/$backfile.tar.gz echo "$(sha256sum $backdir/$backfile.tar.gz | cut -d ' ' -f1) $backfile.tar.gz" > $backdir/$backfile.tar.gz.sha256sum