シェル定期的なバックアップスクリプト

#!/ binに/ bashの
SOURCE_DIR =(
$ *

TARGET_DIR = /データ
YEAR = `日付+%Y`
MONTH =`日付+%m`の
DAY = `日付+%D 'の
u` WEEK =`日付+%
FILES = system_backup.tgz
CODE = $?
[-z「$ *」]であれば、次に
エコー-eは、「バックアップファイルまたはディレクトリ\ nと入力してください-------------------------- ------------------ \ nExample $ 0 /ブートの/ etc ......」
退出
Fiの
#Determineかどうかターゲットディレクトリが存在する
[場合!$ TARGET_DIR / $ YEAR / $ MONTH / $ DAY]は-d、次に
ます。mkdir -p $ TARGET_DIR / $ YEAR / $ MONTH / $ DAY
エコー"この$ TARGET_DIRが正常に作成されました!"
Fiの
#EXEC full_backupの機能コマンド""
full_backupの()
{
もし[ "$ WEEK" -eq "7"];その後、
RM -rf $ TARGET_DIR /スナップショット
CD $ TARGET_DIR / $ YEAR / $ MONTH / $ DAY
タール-g $ TARGET_DIR /スナップショット-czvf $ファイル`エコー$ {SOURCE_DIR [ @]} `
[ "$ CODE" == "0"] &&エコー-e「------------------------------- -------------に成功しました\ nこれらfull_backupのシステムファイルのバックアップ!」
Fiの
}
#Perform増分バックアップ機能コマンド
Add_Backup()
{
CD $ TARGET_DIR / $ YEAR / $ MONTH / $ DAY。
その後、[YEAR / $ MONTH / $ DAY / $ FILES $ TARGET_DIR / $ -f]の場合
SURE: "?これらの$ファイルが既に、上書き確認はいが存在する、または全く" -p読み
-もし[$ SURE == "ノー"その後、; $ SURE == "N"] O
睡眠1。



CD $ TARGET_DIR / $ YEAR / $ MONTH / $ DAY;タール-g $ TARGET_DIR /スナップショット-czvf $$ _ $ FILES `エコー$ {SOURCE_DIR [@]}`
[ "$ CODE" == "0"] &&エコー- E「-----------------------------------------に成功しました\ nこれらAdd_Backupシステムファイルのバックアップ!」
Fiの
他に
[$ WEEKは"7"を-ne]場合は、その後、
CD $ TARGET_DIR / $ YEAR / $ MONTH / $ DAY;タール-g $ TARGET_DIR /スナップショット-czvf $ `エコー$ {SOURCE_DIR [@]}` FILES
[ " $ CODE "== "0"] &&エコー-e" ------------------------------------- ------成功しました\ nこれらAdd_Backupシステムファイルのバックアップ!」
fi
Fiを
}
full_backupの、Add_Backup

おすすめ

転載: www.cnblogs.com/networking/p/12159130.html