מערכת גיבוי קלה 2

הגיע הזמן עבור bekapinga שוב 🙂 אתמול הבנתי, שכחתי לעשות כל גיבויים כל הקבצים הם למעשה על 2 מכונה. דאם עדיין יש אפשרות לשמור על. כי המבחן המכשיר אינו צריך הרבה שחזור מערכת פלסטיק כך פניתי הישן שלי תסריט בהם קיימת פונקציה פרימיטיבית. בדרך כלל זה מכוער מאוד ופונקציונלי Lupsa הידוע שלו אומרים להיזהר רק 1 תרכיב בנפרד שהקוד הוא סטטי למדי עם חזרות אלה. Затова реших да го пренапиша, като този път не го надрасквма за 10 דקות. В новата си версия вече се подържат 10 стари backup файла. Което си една добра цифра.

#!/bin/bash

#path to tar command
TAR="$(which tar) cvzf"

function backup {

#path to beckup folder
cd $1

#remove oldest archive
rm -r *.10.tgz
sleep 3 #time for removing

#move old archives, we will save 10 old files
for i in {9..1}
do
let "n=$i+1"
mv "www.$i.tgz" "www.$n.tgz"
mv "mysql.$i.tgz" "mysql.$n.tgz"
mv "cron.$i.tgz" "cron.$n.tgz"
done

#and move the newest : )
mv www.tgz www.1.tgz
mv mysql.tgz mysql.1.tgz
mv cron.tgz cron.1.tgz

#path to first folder
$TAR www.tgz /var/www/
sleep 2
#path to second folder
$TAR mysql.tgz /var/lib/mysql/
sleep 2
}

#call backup function with folder path arg
backup /media/backup1
sleep 2
backup /media/backup2

#E0F

В общи линии нещата са ясни. Имам 2 монтирани дяла за бекъп в /media и в тях се наливат новите архиви като преди това се преименуват старите. Структурата на имената е очевидна и при ls команда ориентира е интуитивен.

משופר על ידי Zemanta

השאר תגובה

כתובת הדוא ל שלך לא יפורסם. שדות חובה מסומנים *

אנטי-ספאם *