Gemakkelijke back-up systeem 2

De tijd is voor bekapinga wederkomen 🙂 Gisteren realiseerde, Ik ben vergeten om eventuele back-ups te doen en alle bestanden zijn eigenlijk op 2 machinerie. Dame nog mogelijkheid behouden. Omdat de machine test niet veel plastic recovery systeem nodig, dus ik draaide mijn oude script waarin er een primitieve functie. Over het algemeen is het uiterst lelijk en zijn Lupsa bekende functionaliteiten zeggen let alleen 1 Archiveer apart dat de code is vrij statisch met deze herhalingen. Затова реших да го пренапиша, като този път не го надрасквма за 10 minuten. В новата си версия вече се подържат 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 команда ориентира е интуитивен.

Versterkt door Zemanta

Laat een antwoord achter

Uw e-mailadres zal niet worden gepubliceerd. Verplichte velden zijn gemarkeerd *

Anti SPAM *