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

Přihlašte se svým uživatelským jménem a heslem.
Blog Ubuntu -- Správa "projektů" české komunity Ubuntu

Novinky: Děkujeme všem návštěvníkům fóra, kteří ochotně radí ostatním. Vaše práce je velmi potřebná a vážíme si jí.

Autor Téma: zaloha  (Přečteno 10818 krát)

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: zaloha
« Odpověď #25 kdy: 19 Červen 2008, 11:44:36 »
tak už mi to zalohuje složku home, ale ještě bych potřeboval aby se zachovaly pouze dvě zálohy  (jedna zaloha ma 40 ) a zbytek smazal, jak to lze upravit?


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 tar cvpzf $celySuborNazov --exclude=/bin --exclude=/boot --exclude=/dev --exclude=/etc --exclude=/hdd2 --exclude=/initrd --exclude=/lib --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/opt --exclude=/proc --exclude=/root --exclude=/sbin --exclude=/selinux --exclude=/srv --exclude=/sys --exclude=/tmp --exclude=/usr --exclude=/var --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 tar cvpzf $celySuborNazov --exclude=/bin --exclude=/boot --exclude=/dev --exclude=/etc --exclude=/hdd2 --exclude=/initrd --exclude=/lib --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/opt --exclude=/proc --exclude=/root --exclude=/sbin --exclude=/selinux --exclude=/srv --exclude=/sys --exclude=/tmp --exclude=/usr --exclude=/var --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="/hdd2/backup"

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
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Liquid

  • Návštěvník
  • *
  • Příspěvků: 33
  • Karma: +0/-0
    • Zobrazit profil
    • http://brainking.cz
Re: zaloha
« Odpověď #26 kdy: 19 Červen 2008, 14:24:04 »
http://www.zive.cz/default.aspx?article=126641 neni něco takoveho pres webove rozhrani že bych tam naklikal kdy chci zalohu,je tam i info emailem.

Něco jednoduchého doporučuji tohle http://backuppc.sourceforge.net/

Návod jak to rozběhat je zde: http://howtoforge.net/linux_backuppc