CentOS 備份 BASH 腳本

CentOS 備份 BASH 腳本

我剛剛編寫了這個腳本,用於將所有內容備份到 tar.gz 檔案中。看起來還好嗎?如何讓 tar 檔案在執行後將其傳輸到另一台伺服器? FTP 本身?我將把這個腳本放入每週的 cron 中。

#!/bin/bash

rm ~/backup.tar.gz #removes old backup
BACKUP_DIRS=$HOME #$HOME is builtin, it goes to /home/ and all child dirs
tar -cvzf backup.tar.gz $BACKUP_DIRS

# run tar -zxvf to extract backup.tar.gz

答案1

FTP 是魔鬼。具有 RSA 金鑰對的 SCP 是伺服器之間安全地移動檔案的好方法。至於劇本,看起來不錯。

答案2

如果您沒有很多正在更改的文件,您可以使用 rsync 而不是製作一個大 tar 球。 Rsync 只會發送更改,因此它比您建議的網路更有效率。也許先看看這樣的事情:

http://lifehacker.com/196122/geek-to-live--mirror-files-across-systems-with-rsync?tag=softwarersync

答案3

根據伺服器的大小,您將建立大量重複項。如果我是你,我只會備份修改過的檔案。您還應該為文件添加日期時間戳記。

這就是我要做的事。

  • 每月或每週 1 次全背訓練
  • 所有其他日期的增量備份
  • 對文件添加日期時間戳以便於恢復

檢查文件修改日期的一個真正簡單的方法是:

date -r $file +%F

所以基本上你可以將其包裝在一個函數中,如果該函數與上次備份的日期不匹配,請將其添加到存檔/備份中。否則繼續。

華泰

相關內容