Linux

gzip 選擇目錄到單獨的檔案中

  • September 2, 2015

我將如何將目錄列表壓縮到單獨的檔案中?我已經閱讀了僅歸檔給定目錄中的所有目錄的解決方案,但有些我想跳過。也許更簡單的方法是定義我不想歸檔的目錄。

這是出於備份目的,因此如果可以輕鬆實現增量歸檔,那將是一個巨大的優勢。不幸的是,rsync 不是我的選擇。

或者,像AutoMySQLBackup這樣的腳本,但用於目錄對我來說是一個很好的報酬。

我想出了這個。它查看定義的目錄,將其中的所有目錄歸檔到它們自己的單獨文件中,並根據源目錄名稱和腳本執行日期為它們命名。

#!/bin/bash

#START
TIME=`date +%Y-%m-%d_%Hh%Mm`     # Append date and time to backup file
SRCDIR=/srv                      # Location of directories to backup
DESDIR=/srv/backup               # Destination of backup files
EXCLUDE=exclude.txt  # File which defines what to exclude from archiving

for dir in $SRCDIR/*/
do
 base=$(basename "$dir")
 tar -cpzf $DESDIR/$base-$TIME.tar.gz $dir
done
#END

這有什麼問題嗎?除非目標目錄在源目錄之外,否則它將繼續存檔先前存檔/已創建的備份文件夾;因為$EXCLUDE變數沒有被使用。

引用自:https://serverfault.com/questions/718200