հեշտ կրկնօրինակում համակարգ 2

Ժամանակն է bekapinga կրկին 🙂 Երեկ ես հասկացա,, որ ես մոռացել եմ անել ինչ-որ ապահովված են բոլոր ֆայլերը իրական 2 մեքենաներ. Տիկինը, կա տարբերակ պահելու համար. Քանի որ մեքենա թեստը, պետք չէ, ով գիտի, թե քանի պլաստիկ համակարգի վերականգնման, ես դիմել իր հին սցենարը որտեղ կա ինչ-որ պարզունակ ֆունկցիոնալությունը. Ընդհանրապես դա շատ տգեղ է, եւ նրա лупсват հայտնի գործառույթները, ասենք զգույշ լինել միայն 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 команда ориентира е интуитивен.

Ընդլայնված by Zemanta

Leave a Reply

Ձեր email address will not be published. Պարտադիր դաշտերը նշված են *

Հակա-սպամ *