備份根檔案系統

備份根檔案系統

我最近在我的系統中安裝了 SSD,並將部分 Linux 安裝移至其中。為了安全起見,我想用 rsync 備份我的整個根檔案系統(只是一個克隆,沒有版本控制,沒有增量備份或任何東西),但我有一些問題。

  • 我的檔案系統是分散式的。 /var 和 /tmp 位於不同的磁碟上。
  • 我知道某些根目錄是虛擬的,但我需要排除它們嗎? (/proc、/dev 等)
    • 如果我排除它們,我是否需要在備份磁碟機上建立虛擬/空白版本?
  • 或是有什麼簡單的工具可以自動化這個過程。

問題是,我可以簡單地使用 rsync 與一堆開關和排除來備份即時 Linux 系統還是應該使用任何其他工具來做到這一點?

提前致謝。

PS:我精通Linux。先進/棘手的方法不是問題。

答案1

我知道某些根目錄是虛擬的,但我需要排除它們嗎? (/proc、/dev 等)如果我排除它們,我是否需要在備份磁碟機上建立虛擬/空白版本?

是的,您需要排除它們。

至於是否應該有虛擬版本 - 為了讓您的初始化腳本安裝它們,這些目錄需要作為空資料夾存在。所以是的 - 您需要包含存根或空目錄。

問題是,我可以簡單地使用 rsync 與一堆開關和排除來備份即時 Linux 系統還是應該使用任何其他工具來做到這一點?

,例如,我經常使用rsync -av --delete /src /dst;運行備份但是,請注意rsync 根本不處理鎖定/並發訪問。如果您寫入目前正在使用的文件,您將獲得各種運行。

當然,有一種方法可以解決這個問題。假設目前沒有發生寫入,您可以執行:

/bin/mount -no remount,ro /dev/rootdevice

在 rsync 之前,然後:

/bin/mount -no remount,rw /dev/rootdevice

之後(作為 root)。

如果你想備份一個真正即時的、支援寫入的檔案系統,你需要一些可以進行寫入時複製的東西,例如Linux 卷快照

答案2

我會說使用 cpio 建立存檔並複製它。我說 cpio 是因為它用於初始 ramdisk,因此它可以理解虛擬目錄。嘗試

find / -depth -name | cpio -o >/path/archive.cpio

:)

相關內容