lätt backningen system 2

Det är dags för bek″pinga igen 🙂 igår insåg jag, att jag glömde att göra några säkerhetskopior och alla filer är verkliga 2 maskiner. Ge ett annat alternativ för att hålla. Eftersom maskinen är behöver ett test inte mycket plast återvinningssystem så jag vände mig till min gamla manus där finns det vissa primitiva funktioner. Generellt är extremt ful och lupsvat känd funktionalitet att säga ta hand endast 1 Separat arkiv att koden är ganska statisk med dessa upprepningar. Затова реших да го пренапиша, като този път не го надрасквма за 10 minuter. В новата си версия вече се подържат 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 команда ориентира е интуитивен.

Förstärkt av Zemanta

Lämna svar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *

Anti SPAM *