首頁  >  文章  >  運維  >  怎麼使用tar指令備份Linux雲端伺服器

怎麼使用tar指令備份Linux雲端伺服器

WBOY
WBOY轉載
2023-05-20 17:19:061470瀏覽

基本指令

執行下列指令備份整個檔案系統:

sudo /usr/bin/tar -czpvf /home/zhaomu/backup/linux_backup.tar.gz /

其中各參數說明如下:

  • -c:表示歸檔。

  • -z:使用gzip格式備份。 gzip的備份速度較快,但相比其他方式產生的備份檔案也較大。

  • -p:備份的同時保留檔案的權限,在復原時不會產生權限問題。

  • -v:顯示備份過程的詳細資訊。

  • -f:指定備份的目錄和檔案名稱。

  • /:表示備份整個檔案系統。

增強指令

1、排除不需要備份的檔案

#以上備份指令並非最優方案,原因是整個檔案系統中有大量不需要備份的文件,包括系統文件、臨時文件、歷史備份文件等。因此我們需要把這些文件都排除掉。

sudo /usr/bin/tar --exclude-from=/home/zhaomu/exclude.txt -czpvf /home/zhaomu/backup/linux_backup.tar.gz /

這裡使用了--exclude-from指令定義了排除檔案的路徑。一個典型的排除檔案的內容如下:

/home/zhaomu/backup/*
/tmp/*
/proc/*
/dev/*
/sys/*
/run/*
/var/tmp/*
/var/run/*
/var/lock/*

首先,/home/zhaomu/backup目錄下的檔案需要排除,否則先前備份的資料還會重複備份,導致備份檔案越來越大。其次,在Linux系統中,tmp、proc、dev、sys、run都屬於動態建立的目錄,不需要備份,但需要保留這些目錄結構,因此我們排除了這些目錄下的文件,而沒有排除整個目錄。

2、為檔案名稱加上日期

透過為檔案名稱加上日期,可以區分不同時間所建立的備份,建立一套備份鏈的機制。

sudo /usr/bin/tar --exclude-from=/home/zhaomu/exclude.txt -czpvf /home/zhaomu/backup/linux_backup-$(date +%F-%H-%M).tar.gz /

其中$(date %F-%H-%M)這個參數,代表當前日期、當前小時和當前分鐘,例如:linux_backup-2020-03-02-15-22.tar.gz

3、使用xz壓縮演算法

我們把-z指令換成-J指令,檔案副檔名也從tar.gz換成tar.xz。 xz壓縮演算法比gzip壓縮演算法慢一些,但是壓縮比例更高,所以建立的備份檔案也更小一些。

sudo /usr/bin/tar --exclude-from=/home/zhaomu/exclude.txt -cJpvf /home/zhaomu/backup/linux_backup-$(date +%F-%H-%M).tar.xz /

腳本整合

我們可以把以上指令整合到一個腳本中執行:

vi /home/zhaomu/bin/linux_backup.sh

腳本內容如下:

#!bin/sh
_tarfile=/home/zhaomu/backup/linux_backup-$(date +%F-%H-%M).tar.xz
sudo /usr/bin/tar --exclude-from=/home/zhaomu/exclude.txt -cJpvf $ /

賦予腳本執行權限:

sudo chmod +x  /home/zhaomu/bin/linux_backup.sh

執行腳本開始備份:

sh /home/zhaomu/bin/linux_backup.sh

以上是怎麼使用tar指令備份Linux雲端伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除