Skip to content

Instantly share code, notes, and snippets.

@arvati
Last active March 23, 2023 01:38
Show Gist options
  • Save arvati/30695ebafb09d8cdd16126c89d5a669d to your computer and use it in GitHub Desktop.
Save arvati/30695ebafb09d8cdd16126c89d5a669d to your computer and use it in GitHub Desktop.
Backup OpenWrt Systems
opkg update
opkg install tar
cd /
tar -cvpzf /mnt/data/rootfs.tar.gz --exclude=/mnt/data/rootfs.tar.gz --one-file-system /
tar -cvpzf /mnt/data/overlay.tar.gz --exclude=/mnt/data/overlay.tar.gz --one-file-system /overlay-boot/
# if not full tar package just busybox tar
cat <<EOT >> /tmp/exclude.list
sys
tmp
overlay-boot
boot
dev
rom
var
mnt
proc
srv
lost+found
overlay
EOT
tar -cvpz -X /tmp/exclude.list -f /tmp/rootfs.tar.gz /
tar -cvpz -f /tmp/overlay.tar.gz /overlay/
cat backup.sh
#!/bin/sh
cd /
echo "Running at /"
cat <<EOT > /tmp/exclude.list
sys
tmp
overlay-boot
boot
dev
rom
var
mnt
proc
srv
lost+found
overlay
EOT
tar -cvpz -X /tmp/exclude.list -f /mnt/data/upgrade/backup/rootfs.tar.gz /
#tar -cvpzf /mnt/data/upgrade/backup/rootfs.tar.gz --exclude=/mnt/data/upgrade/backup/rootfs.tar.gz --one-file-system /
if [ -d /overlay-boot/ ]; then
echo "Running at /overlay-boot/"
tar -cvpzf /mnt/data/upgrade/backup/overlay.tar.gz --exclude=/mnt/data/upgrade/backup/overlay.tar.gz /overlay-boot/
#tar -cvpzf /mnt/data/upgrade/backup/overlay.tar.gz --exclude=/mnt/data/upgrade/backup/overlay.tar.gz --one-file-system /overlay-boot/
fi
if [ -d /boot/ ]; then
echo "Running at /boot/"
tar -cvpzf /mnt/data/upgrade/backup/boot.tar.gz --exclude=/mnt/data/upgrade/backup/boot.tar.gz /boot/
#tar -cvpzf /mnt/data/upgrade/backup/boot.tar.gz --exclude=/mnt/data/upgrade/backup/boot.tar.gz --one-file-system /boot/
fi
mkdir -p /tmp/extroot/
#mount -t ext4 /dev/sda1 /tmp/extroot
mount -t btrfs -o subvol=/rootfs,noatime,nodiratime,noacl,nossd UUID=68706ead-a626-4209-b3d0-1187b835f803 /tmp/extroot
mkdir -p /tmp/introot
mount --bind / /tmp/introot
tar -C /tmp/introot -cv -X /tmp/exclude.list -f - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot
echo "Backup at: /mnt/data/upgrade/backup/"
ls /mnt/data/upgrade/backup/ -la
mkdir -p /tmp/extroot/
#mount -t ext4 /dev/sda1 /tmp/extroot
mount -t btrfs -o subvol=rootfs /dev/sdb /tmp/extroot
mkdir -p /tmp/introot
mount --bind / /tmp/introot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot
scp root@openwrt14:/mnt/data/openwrt14*.tar.gz /mnt/data/upgrade/backup
scp root@openwrt3:/mnt/data/openwrt3*.tar.gz /mnt/data/upgrade/backup
scp root@openwrt4:/mnt/data/openwrt4*.tar.gz /mnt/data/upgrade/backup
scp root@openwrt5:/mnt/data/openwrt5*.tar.gz /mnt/data/upgrade/backup
scp root@openwrt2:/tmp/overlay.tar.gz /mnt/data/upgrade/backup/openwrt2-overlay-21042020.tar.gz
sudo mount -t f2fs /dev/sdh2 /mnt/usb
#sudo mount -t ext4 /dev/sdh3 /mnt/usb
sudo rm -fr /mnt/usb/*
sudo tar -xvf ~/openwrt/lede-17.01.4-ramips-mt7620-u35wf-rootfs.tar.gz -C /mnt/usb/
sudo umount /mnt/usb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment