Backup toàn bộ hệ điều hành trên Cloud, phòng trường hợp lỗi thẻ nhớ

Restore nhanh toàn bộ hệ điều hành lên một thẻ nhớ mới bằng bản snapshot được tạo tự động và sync lên cloud.

Backup toàn bộ hệ điều hành trên Cloud, phòng trường hợp lỗi thẻ nhớ
Photo by Markus Winkler / Unsplash

Mình từng gặp tình trạng đột nhiên một ngày thức dậy hệ thống smarthome hoàn toàn tê liệt do không thể khởi động vào lại. Lúc này ước gì có thể khôi phục ngay hệ thống bằng một file backup gần nhất, tiếc là lần cuối mình ssh vào để backup đã 3 tháng trước. Lúc này hệ thống đã có rất nhiều thay đổi từ các bản update phần mềm cho tới các cấu hình mình thay đổi trong suốt quá trình sử dụng. Sau đó mình đã mất nửa ngày để chỉnh lại hết cho đúng ý.

Bài viết dưới đây là bộ giải pháp tự động backup và lưu giữ file backup ở nhiều nơi để truy cập và khôi phục một cách dễ dàng gần như toàn bộ dữ liệu.

Tham khảo hướng dẫn trực tiếp Mega.nz

Cài backup ổ đĩa

Hiện danh sách ổ đĩa: df -h

cd ~
git clone https://github.com/lzkelley/bkup_rpimage.git

Cài làm nhẹ file backup

wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin

Fix lỗi thiếu package ở bản arm64: Nguồn tham khảo

$ wget https://mega.nz/linux/repo/Raspbian_10.0/Release.key && sudo apt-key add Release.key
$ sudo dpkg --add-architecture armhf
$ sudo nano /etc/apt/sources.list.d/mega.nz.list

then pasting the indicated code below:

# Source Repository for Mega-CMD and Mega Desktop (For Raspbian ARM)`
# Updated Mega Repo with 4092 bit Release Key`
deb [arch=armhf] https://mega.nz/linux/repo/Raspbian_10.0/ ./

Install mega-sync:

sudo apt update && sudo apt install megacmd

Login vào Mega

mega-login Email PASS

Cài đặt đồng bộ

mega-sync /mnt/sda1/Backup /Backup

  • Xem log: mega-cmd-server --debug-full | tee megacmd.log
  • Cấp quyền ghi: sudo chmod 775 /mnt/sda1/Backup

Chạy backup

sudo sh bkup_rpimage/bkup_rpimage.sh start -c /mnt/sda1/Backup/BPI-Backup-$(date +%Y-%m-%d).img & sudo pishrink.sh /mnt/sda1/Backup/BPI-Backup-$(date +%Y-%m-%d).img
  1. Backup từ script của git
  2. Loại bỏ phần dư thừa làm nhẹ file

Quản lý file trên Mega

mega-ls
mega-rm -r -f /Backup/BPI-Backup-$(date -d "7 days ago" +%Y-%m-%d).img