2017-01-23 146 views
-5

我有一些問題,因爲我的朋友發給我一個腳本來備份我的文件夾,當任何文件會改變。但我不明白bash腳本。有人能解釋我的這段代碼的每一行嗎?備份bash腳本解釋

#!/bin/bash 

SOURCE="/var/www/my_web/load/" 
BACKUP="/home/your_user/load/" 
LBACKUP="/home/your_user/load/latest-full/" 

DATE=$(date +%Y-%m-%d-%T) 

DESTINATION="$BACKUP"/"$DATE"-diff/ 

rsync -av --compare-dest="$LBACKUP" "$SOURCE" "$DESTINATION" 

cd "$DESTINATION" 
find . -depth -type d -empty -delete 

問候, 塞巴斯蒂安

+1

在bash shell中運行man bash,man date,man rsync,man find和help cd。 – choroba

+0

您是否嘗試在shell中運行這些命令中的任何一個來查看您得到的結果? –

+0

是的,但我不明白爲什麼我寫給你同性戀的一切!我不想學習bash,只知道這個腳本在每行代碼上做了什麼。我有問題了解DESTINATION行和FIND行。 –

回答

0

這個bash腳本將:

  1. 設置源目錄(SOURCE)。
  2. 設置目標備份目錄(BACKUP)。
  3. 設置最新完整備份的目標目錄(LBACKUP)。
  4. Y-m-d-Time格式獲取當前系統日期(DATE)。
  5. 將目標目錄設置爲BACKUP + / + DATE + -diff
  6. 通過比較LBACKUP目錄下的文件,將Rsync /從SOURCE複製到DESTINATION文件夾。
  7. 輸入目標文件夾(cd "$DESTINATION")。
  8. 刪除任何空文件夾(find)。
+0

非常感謝您的幫助! –