X-Git-Url: https://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=chapters%2Fbackups.tex;h=c17615280a848d8f533330da4de7058aba46c2d9;hb=HEAD;hp=e63d6649cf59d387592fa4651a216af854e7b4d6;hpb=b46c5cbfeacab2ffbdd6a5f983d7ffd8f7826108;p=sites%2Fcsbook.git diff --git a/chapters/backups.tex b/chapters/backups.tex index e63d664..c176152 100644 --- a/chapters/backups.tex +++ b/chapters/backups.tex @@ -1,8 +1,31 @@ \section{úÁÂÏÔÁ Ï ÓÏÈÒÁÎÎÏÓÔÉ ÄÁÎÎÙÈ} -% ÔÕÔ ÎÁÄÏ ÂÙ ÏÂÝÉÈ ÓÌÏ× ÐÒÏ ÎÅÏÂÈÏÄÉÍÏÓÔØ backup--Ï×, ÓÔÒÁÛÉÌÏË ÐÒÏ -% ÐÏÓÌÅÄÓÔ×ÉÑ ÏÔ ÐÏÔÅÒÉ ÄÁÎÎÙÈ, É ÔÏÍÕ ÐÏÄÏÂÎÏÅ. + éÚ×ÅÓÔÎÏ, ÞÔÏ ÐÏËÁ ÒÁË ÎÁ ÇÏÒÅ ÎÅ Ó×ÉÓÔÎÅÔ, ÍÕÖÉË ÎÅ ÐÅÒÅËÒÅÓÔÉÔÓÑ. +âÏÌØÛÉÎÓÔ×Ï ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏÎÉÍÁÅÔ ÎÅÏÂÈÏÄÉÍÏÓÔØ × ×ÅÄÅÎÉÉ ÁÒÈÉ×Á ÒÅÚÅÒ×ÎÙÈ +ËÏÐÉÊ ÌÉÛØ ÐÏÓÌÅ ÓÅÒØ£ÚÎÏÊ ÐÏÔÅÒÉ ×ÁÖÎÙÈ ÄÁÎÎÙÈ É ÐÏÌÕÞÅÎÎÏÇÏ × ÒÅÚÕÌØÔÁÔÅ +ÎÁÇÏÎÑÑ ÏÔ ÎÁÞÁÌØÓÔ×Á. éÎÏÇÄÁ ÜÔÏ ÂÙ×ÁÅÔ ×ÅÓØÍÁ ÂÏÌØÎÏ É ÏÂÉÄÎÏ. åÝ£ +ÂÏÌØÎÅÅ ÏÂÉÄÎÅÅ, ËÏÇÄÁ ÔÅÒÑÀÔÓÑ Ó×ÏÉ, ÌÉÞÎÙÅ ÄÁÎÎÙÅ - ÌÀÂÉÍÙÊ +ÆÏÔÏÁÌØÂÏÍ, ÁÒÈÉ× ÓÔÁÒÙÈ ÄÏÂÒÙÈ ÉÇÒÕÛÅË, ÐÏÞÔÏ×ÙÊ ÑÝÉË, ÇÄÅ +ÂÙÌÁ ÐÅÒÅÐÉÓËÁ Ó ×ÉÒÔÕÁÌØÎÏÊ ÌÀÂÏ×ÎÉÃÅÊ. ëÏÎÅÞÎÏ ÖÅ, ÈÏÞÅÔÓÑ ×Ó£ ÉÓÐÙÔÁÔØ ÎÁ +ÓÅÂÅ, É ÓÁÍÏÓÔÏÑÔÅÌØÎÏ ÕÂÅÄÉÔØÓÑ × ÎÅÎÁÄ£ÖÎÏÓÔÉ ÓÉÓÔÅÍ ÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ --- +ÎÏ ÍÙ ÂÙ ÎÅ ÓÏ×ÅÔÏ×ÁÌÉ. ðÒÏÝÅ ÕÞÉÔØÓÑ ÎÁ ÞÕÖÉÈ ÏÛÉÂËÁÈ. + + éÔÁË, ËÏÍÐØÀÔÅÒ --- ÓÉÓÔÅÍÁ ÄÁÌÅËÏ ÎÅ ÎÁÄ£ÖÎÁÑ, ÐÏÄ×ÅÒÖÅÎÎÁÑ ÄÅÊÓÔ×ÉÀ +ÚÁËÏÎÏ× íÅÒÆÉ, ËÁË É ×ÏÏÂÝÅ ÌÀÂÁÑ ÓÏÚÄÁÎÎÁÑ ÞÅÌÏ×ÅËÏÍ ÉÌÉ ÐÒÉÒÏÄÏÊ ÔÅÈÎÉËÁ. +ëÒÏÍÅ ÅÓÔÅÓÔ×ÅÎÎÙÈ ÐÒÉÞÉÎ, ÔÁËÉÈ, ËÁË ÆÉÚÉÞÅÓËÁÑ ÎÅÉÓÐÒÁ×ÎÏÓÔØ ÏÂÏÒÕÄÏ×ÁÎÉÑ, +ÐÒÑÍÏÅ ÐÏÐÁÄÁÎÉÅ ÍÅÔÅÏÒÉÔÁ × ÓÉÓÔÅÍÎÙÊ ÂÌÏË, ÔÅÒÒÏÒÉÓÔÉÞÅÓËÉÅ ÁËÔÙ, ÐÒÏÌÉÔÙÊ +ËÕÄÁ ÎÅ ÓÌÅÄÕÅÔ ÞÁÊ ÉÌÉ ÚÒÑ ÐÏÄ×ÅÒÎÕ×ÛÁÑÓÑ ÐÏÄ ÒÕËÕ × ÍÉÎÕÔÙ ÇÎÅ×Á ËÕ×ÁÌÄÁ, +ÅÓÔØ É ×ÎÕÔÒÅÎÎÉÅ ÐÒÅÄÐÏÓÙÌËÉ Ë ÐÏÒÞÅ É ÐÏÔÅÒÅ ÄÁÎÎÙÈ --- ÏÛÉÂËÉ ÉÌÉ +ÎÅÄÏÄÅÌËÉ × ÐÒÏÇÒÁÍÍÎÏÍ ÏÂÅÓÐÅÞÅÎÉÉ, ÎÅÏÓÔÏÒÏÖÎÙÅ ÄÅÊÓÔ×ÉÑ +ÐÏÌØÚÏ×ÁÔÅÌÑ, ÎÅËÏÒÒÅËÔÎÁÑ ÏÒÇÁÎÉÚÁÃÉÑ ÓÁÍÉÈ ÄÁÎÎÙÈ. áÂÓÏÌÀÔÎÏÊ ÓÏÈÒÁÎÎÏÓÔÉ +ÄÁÎÎÙÈ, ÎÁ ÕÒÏ×ÎÅ ``ÒÕËÏÐÉÓÉ ÎÅ ÇÏÒÑÔ'', ÇÁÒÁÎÔÉÒÏ×ÁÔØ ÎÅ ÍÏÖÅÔ ÎÉÞÔÏ, ÎÏ +ÓÔÏÉÔ ÈÏÔÑ ÂÙ ÎÅÍÎÏÇÏ ÐÏ×ÙÓÉÔØ ÎÁÄ£ÖÎÏÓÔØ ÓÉÓÔÅÍÙ É ÚÁÓÔÒÁÈÏ×ÁÔØ ÓÅÂÑ ÏÔ +ÎÁÉÂÏÌÅÅ ÞÁÓÔÙÈ ÓÌÕÞÁÊÎÏÓÔÅÊ. ïÄÉÎ ÉÚ ÏÓÎÏ×ÎÙÈ É ÎÁÉÂÏÌÅÅ ÐÒÏÓÔÙÈ ÓÐÏÓÏÂÏ× +ÐÏÄÏÂÎÏÊ ÓÔÒÁÈÏ×ËÉ --- ×ÅÄÅÎÉÅ ÁÒÈÉ×Á ÒÅÚÅÒ×ÎÙÈ ËÏÐÉÊ. äÁÌÅÅ ÍÙ ÒÁÓÓÍÏÔÒÉÍ +ÎÅËÏÔÏÒÙÅ ÏÂÝÉÅ ÐÒÉÎÃÉÐÙ É ÐÒÏÓÔÙÅ ÐÒÉÍÅÒÙ ÒÅÁÌÉÚÁÃÉÉ ÁÒÈÉ×Á. + +% .... äÌÑ ÏÒÇÁÎÉÚÁÃÉÉ ÓÉÓÔÅÍÙ ÓÏÈÒÁÎÅÎÉÑ ÒÅÚÅÒ×ÎÙÈ ËÏÐÉÊ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÄÁÎÎÙÈ ÔÒÅÂÕÅÔÓÑ ÏÐÒÅÄÅÌÉÔØ: @@ -54,7 +77,8 @@ ÉÓÐÏÌØÚÕÅÔÓÑ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ext3 c --journal-data, É ÏÎ ÒÅÁÌÉÚÏ×ÁÎ ËÁË ÓÏÆÔÏ×ÙÊ RAID--ÍÁÓÓÉ× (mirror) ÉÚ Ä×ÕÈ ÏÄÉÎÁËÏ×ÙÈ ÖÅÓÔËÉÈ ÄÉÓËÏ×. ôÁË ÖÅ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ ÕÓÔÒÏÊÓÔ×Ï ÚÁÐÉÓÉ CDRW--ÄÉÓËÏ× (ÎÏ ÎÅÔ -ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ UDF). æÉÎÁÎÓÏ×ÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÎÁÛÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ +ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ UDF, ÄÁÂÙ ÓÉÔÕÁÃÉÑ ÐÏÈÏÄÉÌÁ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÌÅÎÔÏÞÎÏÇÏ +ÎÁËÏÐÉÔÅÌÑ). æÉÎÁÎÓÏ×ÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÎÁÛÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÏÇÒÁÎÉÞÅÎÎÙ, ÔÁË ÞÔÏ ÏÎ ÍÏÖÅÔ ÓÅÂÅ ÐÏÚ×ÏÌÉÔØ ×ÙÄÅÌÉÔØ ÐÏÄ ÒÅÚÅÒ×ÎÏÅ ËÏÐÉÒÏ×ÁÎÉÅ ÌÉÛØ 6 ÂÏÌ×ÁÎÏË. ðÒÏÍÁÒËÉÒÕÅÍ ÉÈ ÚÁÒÁÎÅÅ ËÁË ``Backup disk 1'', ``Backup disk 2'', ..., ``Backup disk 6''. @@ -103,3 +127,103 @@ $SYNC work 0 * * * * /home/user/backup0.sh > /dev/null 2>&1 \end{verbatim} + ôÅÐÅÒØ ÂÕÄÅÍ ÄÅÌÁÔØ ÎÁËÏÐÌÅÎÉÅ ÉÎËÒÅÍÅÎÔÁÌØÎÙÈ ÁÒÈÉ×Ï× ÎÁ ÏÓÎÏ×ÁÎÉÉ +ÐÏÌÕÞÅÎÎÏÇÏ ÚÅÒËÁÌÁ. ðÏËÁ ÎÅ ÂÕÄÅÍ ÚÁÔÒÁÇÉ×ÁÔØ ÓÏÄÅÒÖÉÍÏÅ ÁÒÈÉ×Ï× mail, +downloads É work --- ÏÇÒÁÎÉÞÉÍÓÑ cvsroot É archive. +äÌÑ ÐÒÏÓÔÏÔÙ ÎÅ ÂÕÄÅÍ ÐÒÅÄÐÒÉÎÉÍÁÔØ ÎÉËÁËÉÈ +ÕÓÉÌÉÊ ÐÏ ÕÄÁÌÅÎÉÀ ÐÕÓÔÙÈ ÁÒÈÉ×Ï×. + +%%% ÆÁÊÌ mkincremental0.sh +\begin{verbatim} +#!/bin/sh + +BASE=/mnt/backups/user/ +ILOGS=$BASE/ilogs/ +ITARS=$BASE/itars/ +BTARS=$BASE/btars/ + +BASENAME=$1--`date +%Y-%m-%d-%s` +TARNAME=$BASENAME.tar +LOGNAME=$BASENAME.log +LOG0NAME=$1--current + +cp $ILOGS/$LOG0NAME $ILOGS/$LOGNAME + +tar --listed-incremental=$ILOGS/$LOGNAME -cjf $ITARS/$TARNAME.bz2 \ + $BASE/current/$1/ + +rm -f $ILOGS/$LOG0NAME +cp $ILOGS/$LOGNAME $ILOGS/$LOG0NAME +\end{verbatim} + + óËÒÉÐÔ, ËÏÔÏÒÙÊ ÓÏÚÄÁÓÔ ÎÁÍ ÐÅÒ×ÏÎÁÞÁÌØÎÕÀ ÓÔÒÕËÔÕÒÕ ÉÎËÒÅÍÅÎÔÁÌØÎÙÈ +ÁÒÈÉ×Ï×: + +%%% ÆÁÊÌ initincremental0.sh +\begin{verbatim} +#!/bin/sh + +BASE=/mnt/backups/user/ +ILOGS=$BASE/ilogs/ +ITARS=$BASE/itars/ +BTARS=$BASE/btars/ + +rm -f $ILOGS/$1-initial.log +rm -f $BTARS/$1-base.tar.bz2 + +tar --listed-incremental=$ILOGS/$1-initial.log \ + -cjf $BTARS/$1-base.tar.bz2 \ + $BASE/current/$1/ + +cp $ILOGS/$1-initial.log $ILOGS/$1--current + +\end{verbatim} + + óÏÏÔ×ÅÔÓÔ×ÅÎÏ, ÐÅÒÅÄ ÔÅÍ, ËÁË ÎÁÞÁÔØ (ÕÖÅ ÄÏÌÖÎÏ ÓÕÝÅÓÔ×Ï×ÁÔØ ÚÅÒËÁÌÏ), ÍÙ +×ÙÚÙ×ÁÅÍ ÏÄÉÎ ÒÁÚ ÓÌÅÄÕÀÝÉÊ ÓËÒÉÐÔ (ËÏÔÏÒÙÊ ÐÏÔÏÍ ÐÏÔÒÅÂÕÅÔÓÑ É ÐÒÉ +ÒÏÔÁÃÉÑÈ). + +%%% ÆÁÊÌ inittars.sh +\begin{verbatim} +#!/bin/sh + +BASE=/mnt/backups/user/ +ILOGS=$BASE/ilogs/ +ITARS=$BASE/itars/ +BTARS=$BASE/btars/ + +rm -Rf $ILOGS $ITARS $BTARS +mkdir -p $ILOGS $ITARS $BTARS + +INIT=/home/user/initincremental0.sh + +$INIT cvsroot +$INIT archive +\end{verbatim} + + ôÅÐÅÒØ ÐÒÉÓÔÕÐÉÍ Ë ÚÁÐÏÌÎÅÎÉÀ ÂÏÌ×ÁÎÏË CDRW. + +%%% æÁÊÌ prepareiso.sh +\begin{verbatim} +#!/bin/sh + +BASE=/mnt/backups/user/ +ILOGS=$BASE/ilogs/ +ITARS=$BASE/itars/ +BTARS=$BASE/btars/ +CDCON=$BASE/cdcon/ +CD=$BASE/newcd/ +VOLUME=`cat $CDCON/nextvol` +SSN=`cat $CDCON/session` +OUT=$CD/vol$VOLUME +mkdir -p $OUT/btars/ +mkdir -p $OUT/itars/ +mkdir -p $OUT/ilogs/ +mv $BTARS/*.tar* $OUT/btars/ +mv $ITARS/*.tar* $OUT/itars/ +mv $ILOGS/*.log $OUT/ilogs/ +bzip2 $OUT/ilogs/*.log +mkisofs -r -M $CDCON/backup.iso -o $CD/nextsession.iso $OUT +rm -Rf $OUT +\end{verbatim} +