Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: [HOWTO] - Skript na zalohovanie systemu podla wiki  (Přečteno 8288 krát)

existpierre

  • Host
[HOWTO] - Skript na zalohovanie systemu podla wiki
« kdy: 02 Února 2008, 21:25:46 »
Zlozku /home mam na tom istom oddieli ako cely system. Podla Wiki navodu som si spravil skript pre zalohovanie, o ktory by som sa chcel s Vami podelit.

Najprv si vytvorte povedzme na plochu prazdny subor mybackup

pravym mysitkom na plochu - vytvorit dokument - prazdny subor

Klik nan pravym mystikom - prava - povolit spusenie suboru ako programu.

Otvorte ho a do neho vlozte tento kod:

Kód: [Vybrat]
#!/bin/bash

trap Prerusene INT

Prerusene()
{
echo
echo "Zalohovanie bolo prerusene uzivatelom!"
echo
exit
}

extractZnakVerzia()
{
najvacsieCislo=0
posunVerzia=$(($dlzkaStrFile - 4))
txtKon=${file:0:posunVerzia}
verzia=${txtKon:19}
}

extractZnakDatum()
{
posunZnak=$(($dlzkaStrFile - 17))
posunVerzia1=$(($dlzkaStrFile - $posunZnak))
txtKon1=${file:0:posunVerzia1}
extrDatum=${txtKon1:7}
}

NajvyssiaVerzia()
{

cislo=0
inc=0

for file in *.tgz; do
dlzkaStrFile=${#file}

case $dlzkaStrFile in
24 )
extractZnakVerzia
extractZnakDatum
if [ $extrDatum = $1 ]
then
inc=$(($inc + 1))
pVers[$inc]=$verzia
fi
;;
25 )
extractZnakVerzia
extractZnakDatum
if [ $extrDatum = $1 ]
then
inc=$(($inc + 1))
pVers[$inc]=$verzia
fi
;;
26 )
extractZnakVerzia
extractZnakDatum
if [ $extrDatum = $1 ]
then
inc=$(($inc + 1))
pVers[$inc]=$verzia
fi
;;
esac

done

dlzkaPoleVer=${#pVers[@]}

j=0

while [ $j -lt $dlzkaPoleVer ]; do
j=$(($j + 1))

    if [ ${pVers[$j]} -gt $najvacsieCislo ]  ; then
       najvacsieCislo=${pVers[$j]}
    fi


done


}

Titulok()
{
echo "##################################################"
echo "##################################################"
echo "##                                              ##"
echo "##         Zálohovanie systému   v2.1           ##"
echo "##                                              ##"
echo "##  Pred inštaláciou vypnite všetky aplikácie   ##"
echo "##                                              ##"
echo "##          created by existPierre              ##"
echo "##                                              ##"
echo "##                02.02.2008                    ##"
echo "##                                              ##"
echo "##################################################"
echo "##################################################"
echo
}

Zalohovat()
{
vCislo=1
txtZaloha="backup_"
suborDatum="`date +%d`_`date +%m`_`date +%Y`"
pripona=".tgz"

NajvyssiaVerzia $suborDatum

cVerzia="_v$najvacsieCislo"
celySuborNazov="$txtZaloha$suborDatum$cVerzia$pripona"
if test -e $celySuborNazov
then
echo -n "Najvyssia verzia je $najvacsieCislo, inkrementujem a vytvaram novu zalohu "
najvacsieCislo=$(($najvacsieCislo + 1))
cVerzia="_v$najvacsieCislo"
celySuborNazov="$txtZaloha$suborDatum$cVerzia$pripona"
echo $celySuborNazov
echo
echo -n "Proces zálohovania sa začne za: "
odpocit=5
for x in 1 2 3 4 5; do
echo -n "$odpocit "
odpocit=$(($odpocit - 1))
sleep 1.5
done
echo
 if sudo tar czf $celySuborNazov --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=$cestaSkript$celySuborNazov /
 then
 echo
 echo  "Zálohovanie úspešne dokončené!"
 else
echo
echo  "Zálohovanie sa neskončilo korektne!"
 fi
else
echo -n "Neexistuje zaloha pre den $suborDatum, vytvaram "
najvacsieCislo=1
cVerzia="_v$najvacsieCislo"
celySuborNazov="$txtZaloha$suborDatum$cVerzia$pripona"
echo $celySuborNazov
echo
echo -n "Proces zálohovania sa začne za: "
odpocit=5
for x in 1 2 3 4 5; do
echo -n "$odpocit "
odpocit=$(($odpocit - 1))
sleep 1.5
done
echo
 if sudo tar czf $celySuborNazov --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=$cestaSkript$celySuborNazov /
 then
echo
echo  "Zálohovanie úspešne dokončené!"
 else
echo
echo  "Zálohovanie sa neskončilo korektne!"
 fi

fi
}

clear
cestaSkript="Sem vlozte cestu k priecinku, kde sa ma zaloha ukladat"

if test -d $cestaSkript
then

cd $cestaSkript

if [ $# -eq 0 ]; then
Titulok
echo -n "Prajete si zálohovať systém?[a/n]: "
read zadanie
k=1
while [ $k -eq 1 ]; do
    case $zadanie in
      a | ano )
Zalohovat
k=0
;;
      n | nie )
k=0
exit
;;
      * )
echo -n "Napíš a/ano alebo n/nie: "
read zadanie
k=1
;;
    esac
done

else
case $* in
      --a | --ano )
Zalohovat
;;
      --n | --nie )
exit
;;
      --h | --help )
Titulok
echo "--a alebo --ano pre okamzite zalohovanie"
echo "--n alebo --nie pre zrusenie zalohovania"
echo "--h alebo --help pre pomoc"
echo "ctrl+c pre zrusenie zalohovania pocas jeho vykonavania "
echo
esac
fi
else
echo "Zadana cesta nebola najdena, program konci!"
exit 0
fi

Potom na 168. riadku si navolte cestu, kam sa ma ta zaloha ukladat

Kód: [Vybrat]
cestaSkript="Sem vlozte cestu k priecinku, kde sa ma zaloha ukladat"
Tento skript si pod rootom presunte do /bin zlozky

Kód: [Vybrat]
sudo mv ~/Plocha/mybackup /bin/mybackup
Potom uz len staci v konzole zadat

Kód: [Vybrat]
mybackup
Pre vsetky info mozte zadat

Kód: [Vybrat]
mybackup --help
Tak ako je to aj v title napisane, je odporucane mat pocas zalohovania vsetky aplikacie vypnute, koli korektnemu ukonceniu

Je to robene presne podla prikazu na wiki, takze ak mate ine vynimky, ktore nechcete zalohovat, doplne v prikaze. pozor je to tam dvakrat

enjoy :)
« Poslední změna: 01 Května 2010, 15:07:51 od eXistPierre »

vlasto

  • Stálý člen
  • **
  • Příspěvků: 527
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #1 kdy: 21 Dubna 2008, 21:30:42 »
Jak se provede obnova této zálohy.?
Děkuji

existpierre

  • Host
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #2 kdy: 21 Dubna 2008, 21:40:41 »
Jak se provede obnova této zálohy.?
Děkuji

Ta je uz podla postupov, ktore sa nachadzaju na hore zmienenej wiki. Pretoze pustas liveCD, na ktorom sa ten skript nenachadza.
« Poslední změna: 21 Dubna 2008, 21:46:11 od existpierre »

vlasto

  • Stálý člen
  • **
  • Příspěvků: 527
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #3 kdy: 22 Dubna 2008, 11:52:38 »
Potřebuji poradit.Mám Home jinde,dal jsem exclude na home a ono ho to stejně zálohovalo.Kde je prosím problém.
Děkuji

truhlik

  • Závislák
  • ***
  • Příspěvků: 1626
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #4 kdy: 22 Dubna 2008, 12:46:51 »
Poslete prikaz jakym jste zalohoval.
http://wiki.ubuntu.cz/P%C5%99ipojen%C3%AD%20disku
http://www.linuxsoft.cz/article.php?id_article=1351
http://www.root.cz/clanky/klonovani-obrazu-a-dva-monitory-v-linuxu
Citace: Otakar
Červi jsou moc milá zvířátka, zvláště když má jejich chovatel výhrady proti chování tučňáků

existpierre

  • Host
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #5 kdy: 22 Dubna 2008, 14:50:36 »
Potřebuji poradit.Mám Home jinde,dal jsem exclude na home a ono ho to stejně zálohovalo.Kde je prosím problém.
Děkuji

Bud nespravne zadany --exclude, alebo bol zadany len do jedneho prikazu v skripte, pricom som upozornoval, ze treba upravit oba. Pokial neexistuje v navolenom priecinku ziadna zaloha, spusti sa ten prvy prikaz, ktory ho pomenuje verziou 1. Ked uz daka verzia v tom dni existuje, spusti sa ten druhy, kde pred tym verziu inkrementuje. Tie prikazy su na riadku 132 a 155.

vlasto

  • Stálý člen
  • **
  • Příspěvků: 527
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #6 kdy: 22 Dubna 2008, 18:29:17 »
1.     if sudo tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=/home --exclude=/backup.tgz /

2.     if sudo tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys--exclude=/home --exclude=/backup.tgz / 

Kde je prosím chyba?
Děkuji

truhlik

  • Závislák
  • ***
  • Příspěvků: 1626
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #7 kdy: 22 Dubna 2008, 19:01:02 »
1.     if sudo tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=/home --exclude=/backup.tgz /

2.     if sudo tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys--exclude=/home --exclude=/backup.tgz / 

Kde je prosím chyba?
Děkuji
Chybi Vam tam mezera mezi slovama.
http://wiki.ubuntu.cz/P%C5%99ipojen%C3%AD%20disku
http://www.linuxsoft.cz/article.php?id_article=1351
http://www.root.cz/clanky/klonovani-obrazu-a-dva-monitory-v-linuxu
Citace: Otakar
Červi jsou moc milá zvířátka, zvláště když má jejich chovatel výhrady proti chování tučňáků

vlasto

  • Stálý člen
  • **
  • Příspěvků: 527
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #8 kdy: 22 Dubna 2008, 20:45:45 »
OK už to jede.Děkuji

1x23

  • Aktivní člen
  • *
  • Příspěvků: 449
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #9 kdy: 23 Dubna 2008, 06:40:43 »
na konci mi to hodi chybu,  :-[
« Poslední změna: 23 Dubna 2008, 17:56:18 od 1x23 »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

existpierre

  • Host
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #10 kdy: 23 Dubna 2008, 21:31:47 »
myslis, to ze sa to neskoncilo korektne? Ak jo, tak si povypinaj pocas zalohovania vsetko. Ja mam vtedy zapnutu len online music a pidgina, najlepsie je zalohovat po restarte. Vtedy je najistejsie, ze sa to ukonci korektne. Pokial mas debian, mal by si ten mybackup pustit asi pod rootom, neviem ci idu zalohovat subory, na ktore nemas pravo pristupovat. Na toto by som chcel aj ja odpoved.

btw este som trosku upravil ten prikaz

     if sudo tar cvpzf $celySuborNazov --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=$cestaSkript$celySuborNazov /

to pre istotu, aby nezalohoval zalohu (este rano tu bol prispevok ohlade tohoto)
« Poslední změna: 23 Dubna 2008, 21:36:03 od existpierre »

existpierre

  • Host
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #11 kdy: 14 Září 2008, 23:29:07 »
Este male upozornenie, aj ja som si to vsimol po dlhsiej dobe co som niekolkokrat bol na wiki navode. V navode je spomenute, ze ked vrati script :

Kód: [Vybrat]
tar: Za behu programu nastala chyba

u mna

Kód: [Vybrat]
tar: Za behu programu nastala chyba

Zálohovanie sa neskončilo korektne!

mozte tu chybu odignorovat

nettezzaumana

  • Host
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #12 kdy: 15 Září 2008, 00:13:05 »
4 eXistPierre <<

ad.1) sudo ve skriptu? ehm ehm .. no nic .. v ubuntu je to asi nutne ..

ad.2) naprosto neprehledne .. ve jmenech promennych a funkci se pouziva podtrzitko // "_"
take se nekombinuje nahodile upper a lower case .. ve jmenech promennych se pouziva upper one a ve fcich lower ::

MAIN_VAR=$1;

main_fce() {
    # neco
}

ad.3) *vse* co testujeme je vhodne "$uvozovkovat"

ad.4) man echo

echo -e '\ntoto je to same aka\n';

echo
echo toto je to same aka
echo

cat << EOF;

toto je to same aka

EOF

ad.5) k cemu inicializovat promenne aka a=x; b=y; c=z abychom je pouzili via $a$b$c  ??? nestaci potom a=xyz ???

ad.6) nac presouvat skript do /bin, kdyz na nej potrebujeme rootovska prava ?? nedela se nahodou na zacatku jednou ::

if [ "$UID" -ne "0" ]; then
    echo "sorry kid ..";
    exit;
fi

ad.6) +tisic drobnych vychytavek aka for((x=0;x<10;x++)) { echo $x; }, mezer mezi bloky kodu, pouzivani a inicializovani promenych na oznaceni vyskoku z cyklu apod ..

rad bych skript vyzkousel, ale minimalne pro me je to naprosto neprehledny spaghetti code, kterej chce heslo roota, takze ..

ad.x) kdyz uz teda zalohujes metodou "vypust jenom co je receno" (a ne opacne, tedy zalohuj co je receno), tak proc tam nejni excludnute treba /dev ???

nettezzaumana

  • Host
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #13 kdy: 15 Září 2008, 00:19:38 »
ad.y) ps. eXistPierre neber si to osobne, ale fandim vsem snazivym hochum a devcatum, a u Tebe si moc dobre pamatuju, ze jsi tady nekde resil i veci jako c/c++ a vubec .. to jsou me pripominky a nemyslim to konfrontacne .. kdybys to nebyl Ty, ale nejaky noname prispivatel, tak u takovehleho kodu nestravim ani minutu ..

zdravi ntz

existpierre

  • Host
Re: [HOWTO] - Skript na zalohovanie systemu podla wiki
« Odpověď #14 kdy: 15 Září 2008, 00:39:40 »
ad.y) ps. eXistPierre neber si to osobne, ale fandim vsem snazivym hochum a devcatum, a u Tebe si moc dobre pamatuju, ze jsi tady nekde resil i veci jako c/c++ a vubec .. to jsou me pripominky a nemyslim to konfrontacne .. kdybys to nebyl Ty, ale nejaky noname prispivatel, tak u takovehleho kodu nestravim ani minutu ..

zdravi ntz

robil som to podla wiki, bol to moj prvy skript a funguje to. co sa tyka upper a lower case, uz som si na taky zvykol. Ale ked budem mat cas, tak sa na to kuknem a skusim to cele zprehladnit. Aj ked uzivatelovi to moze byt sumafuk, ked to funguje tak ako ma. Viem ze sudo by malo byt pocas spusatnia app, ale ja som nejak lenivy a chcel som si to dat len ako mybackup a potom uz len zadat heslo.  ::)

neberiem si to osobne, skor dakujem za kritiku a tipy ;)
« Poslední změna: 15 Září 2008, 01:12:43 od eXistPierre »

 

Provoz zaštiťuje spolek OpenAlt.