System Tar Restore – 功能豐富的 Linux 備份腳本 (star.sh)

“System Tar and Restore”是一個用於 Linux 的開源程序,它提供了多種創建備份和恢復備份的選項。 它由兩個腳本組成:一個是主程序,另一個是 GUI 包裝器。

它具有三種不同的模式:備份、還原和傳輸。 它在 Arch、Debian/Ubuntu 中可用, Fedora、OpenSUSE、Gentoo 和 Mandriva。

您可以在其上查看代碼和文檔 官方倉庫.

特徵

  • 完全或部分備份。
  • 將備份還原或傳輸到同一磁盤/分區或不同的磁盤/分區。
  • 恢復或轉移到外部驅動器,用於 example:USB 硬盤、USB 閃存驅動器或 SD 卡。
  • 將之前安裝在 BIOS 模式下的系統恢復到 UEFI 模式,反之亦然。
  • 在虛擬機中備份系統,在普通機中恢復。

要求

在安裝 System Tar 和 Restore 之前,請確保您擁有以下項目:

  • gtkdialog 0.8.3 或更高版本(用於 GUI)
  • tar 1.27 或更高版本(支持 acls 和 xattrs)
  • rsync(用於傳輸模式)
  • wget(用於下載備份檔案)
  • gptfdisk/gdisk(用於 GPT 和 Syslinux)
  • openssl/gpg(用於加密)

安裝

以下方法適用於任何 Linux 發行版,因為它使用 Linux 標準工具。

這一步很簡單,你只需要從 發布部分. 在這 example,我已經下載了 .tar.gz 文件。

然後,在下載源代碼的文件夾中打開一個終端並輸入以下命令解壓縮文件:

$ sudo tar -xf system-tar-and-restore-6.8.tar.gz

請注意,文件名可能因下載的軟件版本而異。

最後,您必須轉到解壓縮的文件夾並執行該工具:

$ cd system-tar-and-restore-6.8
$ ./star.sh

如果要在 GUI 模式下使用該軟件,請執行以下腳本:

$ ./star-gui.sh

你會看到這樣的事情:

替代方法 Linux – AUR

還有一種使用 AUR 的 Arch Linux 替代方法:

AUR – 系統焦油和還原 並單擊“下載快照”,如圖所示:

現在打開一個終端並轉到包所在的路徑。 類型:

$ tar -xf system-tar-and-restore.tar.gz
$ cd system-tar-and-restore
$ makepkg -csi PKGBUILD

並對所有人回答“是”。

然後,您可以通過鍵入以下內容(從任何位置)來運行該工具:

命令行界面 模式:

$ sudo star.sh

GUI 模式:

$ sudo star-gui.sh

模式

以下是模式及其選項的說明。 我將在本文的下一節中向您展示一些示例。

備份

此模式允許用戶對您的系統進行 tar 備份。 可以定義以下選項:

  • 存檔文件名:這是備份存檔的命名方式。 默認是 Backup-$(hostname)-$(date +%Y%m%d-%H%M%S).
  • 目標目錄:備份存檔的保存位置。 默認是 /.
  • /home 目錄:您可以執行三種不同的操作:完全包含它、僅包含隱藏的文件和文件夾(以保持登錄和某些設置)或排除它。
  • 壓縮:可以使用 Gzip、bzip2 和 xz 格式。 您也可以選擇 none 表示不壓縮。 官方文檔推薦gzip。
  • 加密方法和密碼:如果您想為存檔提供加密,請選擇 openssl 或 gpg 加密方法。 您還應該輸入密碼。
  • 存檔器選項:您可以在存檔器中提供其他參數。 打字 tar --help 會給你更多的信息。

該程序可以讀取一個配置文件,最初位於 /etc/backup.conf. 您可以指定另一個路徑,然後通過鍵入來使用它 star.sh -i 0 -C /path/backup.conf (CLI 模式)或 star-gui.sh /path/backup.conf(圖形用戶界面模式)。 你可以看到 開發者提供的樣本 或通過添加選項生成配置文件 -g.

該過程完成後,您將在備份存檔的同一路徑中看到一個 backup.log。

恢復/轉移

還原模式的目的是將在備份模式下創建的存檔提取到磁盤/分區。 傳輸模式使用 rsync 將您的系統傳輸到磁盤/分區。

在恢復和傳輸模式下,該工具都會生成目標系統的 fstab、重建 initramfs(對於每個已安裝的內核)、生成區域設置以及安裝和配置引導加載程序。

要使用此選項,您必須以實時模式啟動目標發行版。 您也可以從其他發行版啟動,但我推薦第一種選擇。

然後,您可以設置以下選項:

  • 目標分區:必須選擇目標根分區。 然後,您可以自由選擇/home、/boot 或swap 的其他分區。 如果您使用 UEFI,您可以指定目標 ESP 分區及其掛載點。
  • 掛載選項:對於目標根分區,您可以指定掛載選項,以逗號分隔。 默認值為 defaults, noatime.
  • Btrfs 子卷:如果目標根 FS 是 Btrfs,您可以創建子卷。 Enter 由空格分隔的路徑。 推薦的根子卷名稱是 __active.
  • Bootloader:在 BIOS 系統上可以選擇 Grub 2 或 Syslinux。 如果您使用 RAID 陣列,該工具將在其每個設備中安裝引導加載程序。 對於 UEFI,您可以選擇 Grub、EFISTUB/efibootmgr 或 Systemd/bootctl。 也可以添加其他內核選項。
  • 模式: 恢復:指定備份存檔。 傳輸模式(傳輸/home、隱藏文件和文件夾或排除)。
  • Tar/Rsync 選項:您可以指定更多選項。 如需幫助,請鍵入:rsync --help 或者 tar --help.

進程完成後,會在 /tmp/restore.log 中創建日誌。

例子

您可以使用單字母或全字選項。 我只會在第一個中顯示完整的單詞 example. 你可以輸入 sudo ./star.sh --help 在終端中查看不同選項的參數。

備份

示例 1:指定存檔文件名、目標、壓縮模式和其他選項。

  • 存檔文件名:備份
  • 目的地:/home/ivo/backups
  • 壓縮:gzip
  • 附加選項:–exclude=/home/ivo/.cache/* –warning=none
$ sudo star.sh -i 0 --directory /home/ivo/backups --compression gzip --user-opts "--exclude=/home/ivo/.cache/* --warning=none" --filename "backup"

示例 2:指定目標、壓縮模式、/home 目錄和加密方法。

  • 目的地:/home/ivo/backups
  • 壓縮:bzip2
  • /home 目錄:完全排除
  • 使用 openssl 加密
$ sudo star.sh -i 0 -d /home/ivo/backups -c bzip2 -E openssl -P 1234 -H

恢復

示例 3:選擇根分區、引導加載程序和本地模式。

  • 目標分區:root:/dev/sdb1
  • 引導加載程序:grub
  • 模式:本地存檔
$ sudo star.sh -i 1 -r /dev/sdb1 -G /dev/sdb -f /home/ivo/backups/backup.tar.gz

示例 4:選擇根分區、引導加載程序和遠程模式。

  • 目標分區:root:/dev/sda4
  • 引導加載程序:EFISTUB
  • 模式:遠程文件保護在 http 服務器中
$ sudo star.sh -i 1 -r /dev/sda4 -F /dev/sda -f https://server/backup.tar.gz -y username -p password

示例 5:選擇 root 和 home 分區、引導加載程序和本地模式。

  • 目標分區:root:/dev/sda2,home:/dev/sda3
  • 引導加載程序:grub
  • 模式:本地存檔
$ sudo star.sh -i 1 -r /dev/sda2 -h /dev/sda3 -G auto -f /home/ivo/backup.tar.gz

轉移

示例 6:選擇根分區、引導加載程序和內核選項。

  • 目標分區:root:/dev/sda1
  • 引導程序:Syslinux
  • 內核選項: nomodeset
$ sudo star.sh -i 2 -r /dev/sda1 -S /dev/sda -k nomodeset

示例 7:選擇 root、boot、usr 和 var 分區、引導加載程序和模式。

  • 目標分區:boot:/dev/sda1,root:/dev/sda2,usr:/dev/sda3,var:/dev/sda4
  • 引導加載程序:grub
  • 模式:僅傳輸 /home 的隱藏文件和文件夾
$ sudo star.sh -i 2 -b /dev/sda1 -r /dev/sda2 -t "/usr=/dev/sda3 /var=/dev/sda4" -G /dev/sdb -O

包起來

如您所見,System Tar and Restore 是一個簡單的工具,它在創建和恢復/傳輸備份時提供了很多可能性。 CLI 版本可能適用於更有經驗的用戶,但它允許您以非常快速的方式備份或恢復某些內容。 但是,如果新手對第一個版本感到不舒服,GUI 版本可以幫助他們。

這是一個非常有趣的工具,我建議您在需要進行下一次備份並探索其所有選項和組合時嘗試使用它。