玩轉香橙派 Zero 3:備份與還原

前言

系統備份與還原:使用 dd 命令

香橙派(Orange Pi)Zero 3 的作業系統燒錄於 SD 卡上,並且在沒有外接其他儲存裝置的狀況下,資料也是儲存於 SD 卡中;因此如果要進行整個系統的備份與還原,一個直觀的方式是透過 dd 命令來讀取與寫入資料:

1. 備份

首先使用 df --human-readable 檢查 SD 卡掛載的裝置路徑,再透過 dd if=[INPUT_FILE] bs=[BLOCK_SIZE] 從指定的路徑讀取資料,其中 if 表示輸入檔案(input file)而 bs 則表示區塊大小(block size):

Bash
# 確認掛載路徑,並讀取資料
$ df --human-readable
$ sudo dd if=/dev/sdc bs=4M | gzip > ~/orangepi_zero3_shellclash.gz

# 檢視進度狀況
$ sudo watch -n 5 pkill -USR1 ^dd$

調整 dd 命令的區塊大小,可以影響讀取和寫入的效率;一般來說使用較大的區塊大小,可以減少 I/O 操作次數,進而減少作業系統的系統調用(system call)與上下文切換(content switch)次數,在處理大文件時能有更好的表現。

2. 還原

Bash
$ sudo gzip -dc ./orangepi_zero3_shellclash.gz | sudo dd of=/dev/sdc

# 檢視進度狀況
$ sudo watch -n 5 pkill -USR1 ^dd$