Created
February 19, 2017 13:42
-
-
Save pejobo/f1b1ee35f4e9f3c3881eb096deacac58 to your computer and use it in GitHub Desktop.
make a backup of my running raspberry pi (filesystem is f2fs)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
target=/media/stuff/raspberry/backup.img | |
size_of_image=6G | |
# Make sure only root can run our script | |
if [ "$(id -u)" != "0" ]; then | |
echo "This script must be run as root" 1>&2 | |
exit 1 | |
fi | |
# check loop device availability | |
losetup /dev/loop0 && exit 1 || true | |
truncate -s $size_of_image $target | |
losetup /dev/loop0 $target | |
parted -s /dev/loop0 mklabel msdos | |
parted -s /dev/loop0 mkpart primary fat32 0% 64Mib | |
parted -s /dev/loop0 set 1 boot on | |
parted -s /dev/loop0 mkpart primary ext2 64Mib 100% | |
mkfs.vfat -I -F 32 -n SYSTEM /dev/loop0p1 | |
mkfs.f2fs -l root /dev/loop0p2 | |
mkdir -p boot-backup | |
mkdir -p root-backup | |
mount /dev/loop0p1 boot-backup/ | |
mount /dev/loop0p2 root-backup/ | |
rsync -av /boot/ boot-backup/ | |
rsync -av --one-file-system / root-backup/ | |
sync | |
umount root-backup/ boot-backup/ | |
rmdir root-backup | |
rmdir boot-backup | |
losetup -d /dev/loop0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment