Jika Anda mempertimbangkan 2 fakta ini, itu akan membuka Anda ke opsi lain:
- Anda dapat memasang perangkat yang sama di banyak direktori secara bersamaan.
- Anda dapat membuat
tmpfs
mount di mana saja Anda ingin menyembunyikan direktori.
Jadi, ya ada banyak jalur yang tidak ingin Anda backup. Anda menghindari sebagian besar dari mereka dengan memasang partisi utama Anda di direktori ke-2. Yang lain masih akan memiliki data yang Anda tidak ingin backup seperti /tmp
, /dev
, dan /var/log
.
Proses saya berjalan seperti ini ...
- SSH ke dalam Raspberry Pi
Gunung persis ingin saya ingin cadangan
sudo mount /dev/mmcblk0p2 /tmp/root/
sudo mount -t tmpfs -o size=1m tmpfs /tmp/root/var/log/
sudo mount -t tmpfs -o size=1m tmpfs /tmp/root/dev/
sudo mount -t tmpfs -o size=1m tmpfs /tmp/root/tmp/
sudo mount /dev/mmcblk0p1 /tmp/root/boot/
- Keluar dari mesin
Salin data melalui ssh + tar
ssh pi@raspberry.local 'cd /tmp/root; sudo tar cf - * | gzip;' | pv > rpi.tgz
# NOTE: The `pv` command gives you a progress meter but can be left out.
Hapus dudukan sementara
for m in /var/log/ /dev/ /boot/ /; do sudo umount /tmp/root${m}; done
Setelah Anda puas dengan hasilnya, Anda bisa memasukkan semuanya ke dalam satu file seperti ~/backup.sh
#!/bin/bash -eu
dir=$(mktemp -d)
cleanup(){
cd /tmp/ # You can't umount or rm a directory while you are in it.
for m in /dev/ /tmp/ /var/log/ /boot/ /; do
sudo umount ${dir}${m}
done
rm -rf ${dir}
}
do_mounts(){
sudo mount /dev/mmcblk0p2 ${dir}/
sudo mount -t tmpfs -o size=1m tmpfs ${dir}/dev/
sudo mount -t tmpfs -o size=1m tmpfs ${dir}/tmp/
sudo mount -t tmpfs -o size=1m tmpfs ${dir}/var/log/
sudo mount /dev/mmcblk0p1 ${dir}/boot/
}
send_data(){
cd ${dir}; sudo tar cf - * | gzip | tee >(md5sum > /tmp/backup.md5);
}
give_feedback(){
awk '{print "MD5:", $1}' < /tmp/backup.md5 >&2
}
trap cleanup EXIT INT TERM
do_mounts
send_data
give_feedback
Dan panggilan seperti ini ...
$ ssh pi@raspberry.local ./backup.sh | pv | tee rpi.tgz | md5sum | awk '{print "MD5:", $1}'
MD5: d3d9181374f3ec8e4e721c786eca9f71
348MB 0:04:50 [ 1.2MB/s] [ <=> ]
MD5: d3d9181374f3ec8e4e721c786eca9f71
PETUNJUK: Ketika Anda bereksperimen, mengubah tar cf - *
untuk tar cf - etc
untuk menyelamatkan diri banyak waktu pada setiap uji coba.