Avaleht
uus teema   vasta Tarkvara »  Linux & UNIX »  Serveri backup script märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
laurixx
HV vaatleja

liitunud: 27.07.2009




sõnum 12.12.2013 17:54:47 Serveri backup script vasta tsitaadiga

Kasutan backup'i jaoks scripti, aga oskab keegi öelda, kuidas seda rida:
# What to backup.
backup_files="/home /var/spool/mail /etc /root /boot /opt"

muuta, et kogu kupatusest backup teha mitte eraldi kindlatest kaustadest?
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 12.12.2013 18:16:15 vasta tsitaadiga

Kui see shell script on, siis proovi find abil kõik failid üles leida. Lihtne vastus oleks backup_files="/", aga tõenäoliselt sellest head nahka ei tule kui /dev, /proc jms. asju backupida üritad.
Teine variant on kogu kettast image teha.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
gynterk
HV kasutaja

liitunud: 17.01.2004




sõnum 14.12.2013 03:12:21 vasta tsitaadiga

Mida see script täpselt teeb? Mis tarkvara kasutatakse backuppimiseks?
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
Dogbert
HV Guru
Dogbert

liitunud: 03.05.2004




sõnum 14.12.2013 14:59:10 vasta tsitaadiga

Seda skripti peaks nägema, lugeda saama. Vastasel juhul on suht võimatu midagi täpselt õiget välja pakkuda.
_________________
Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus.
Kommentaarid: 33 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 32
tagasi üles
vaata kasutaja infot saada privaatsõnum
laurixx
HV vaatleja

liitunud: 27.07.2009




sõnum 15.12.2013 13:19:35 vasta tsitaadiga

Kasutasin scripti, mille leidsin siit:
https://help.ubuntu.com/10.04/serverguide/backup-shellscripts.html
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
Dogbert
HV Guru
Dogbert

liitunud: 03.05.2004




sõnum 19.12.2013 12:04:24 vasta tsitaadiga

Kogu kupatusest saab teha backupi küll, aga sa ei taha sinna päris kindlasti selliste kataloogide sisu, nagu
/dev/
/proc/
/sys/
/run/

tõenäoliselt ka ajutiselt /mnt/ ja /media/ kataloogi monteeritud andmekandjate sisu

ja tõenäoliselt igasuguste ajutiste failide kataloogide sisu, nimega tmp/ (kus-iganes nad siis ei asuks)
ja kaalumist vajab ka see, kas sa ikka /home/ kataloogi täies mahus ja süsteemiga samasse backupi faili tahad pakkida. Seal võib olla mahukaid faile, mida sa süsteemiga koos pakkida ei taha ja süsteemi taastamisel üle kirjutada ei taha. Home tuleks ikkagi eraldi varundada.

See skript ei sisalda kataloogide välistamise võimalust, nii et sinna juurikat panna ei maksa. Kas see skript sulle üldse sobib? Suht jäigalt tehtud asi, küllap rohkem näidisena mõeldud.

Kui ei ole vaja automaatselt backuppi teha ja tahad teha tervest süsteemist, siis pole sarnasel skriptil eriti üldse mõtet.

sudo tar -cjvf /kataloog/kuhu/backup/läheb/systembackup_kuupäev.tar.bz2 \
--exclude="/dev/*" \
--exclude="/proc/*" \
--exclude="/sys/*" \
--exclude="/run/*" \
--exclude="tmp/*" \
--exclude="/mnt/*" \
--exclude="/media/*" \
--exclude="/home/*" \
--exclude="systembackup_kuupäev.*" \
/* | tee "systembackup_kuupäev.log"

Või siis teed tekstifaili, nt nimega "systembackup_exclusions", kus igale reale kirjutad ühe exclude pattern'i:

/dev/*
/proc/*
/sys/*
tmp/*
/media/*
/mnt/*
/home/*
/bla/bla/bla/*

Ja kasutad seda faili siis niimoodi:

sudo tar -cjvf /kataloog/kuhu/backup/läheb/systembackup_kuupäev.tar.bz2 \
--exclude-from="systembackup_exclusions" \
--exclude="systembackup_kuupäev.*" \
/* | tee "systembackup_kuupäev.log"

Kui on vaja automatiseerida, siis seda skriptinäidist tuleks süsteemist backupi tegemiseks veidi kohendada - lisada exclusions fail näiteks. Ja pakkimiseks on gzip asemel optimaalsem kasutada bzip2. Kiiruses veidi kaotad, aga võidas mahus. (tar -z asemel tar -j)

Backupist süsteemi taastamiseks piisab, kui kolid süsteemi juurkataloogi, pakid backupi sinna lahti ja rebootid:

cd /
sudo tar -xjvf /koht/kus/asub/systembackup_kuupäev.tar.bz2 | tee "sysrestore_systembackup_kuupäev.log"
sudo reboot

Selline taastamine jätab alles failid, mis loodi pärast backupi tegemist. Kui seda ei soovi, siis tuleb vist teha offline taastamine, st mittetöötaval süsteemil taastatavad kataloogid tühjendada ja siis backupist taastada. Näiteks USB pealt käima tõmmatud live süsteemi kasutades.

_______________
lisasin logimise
_______________
Lisaks:

Mitmetuumalise protsessori olemasolu korral võiks kaaluda ka hoopis pbzip2 kompressori kasutamist (s.o bzip2 multithreadingut toetav modifikatsioon). Mahult tuleb fail veidi suurem kui bzip2 puhul (sest failid jagatakse paralleelselt pakitavateks tükkideks), aga jõudlus võib, olenevalt rakendatud tuumade arvust, mitmekordistuda.

(Lahtipakkimisel saab pbzip2 kasutada niimitut threadi, kui mitme threadiga on arhiiv pakitud.)
Avastasin selle kompressori enda jaoks alles eile, kui otsisin poole terabaidise vigase läpakaketta raw image failile kiiruse ja kompressiooni osas optimaalseimat pakkijat.

tar -cvf arhiivifail.tar.bz2 --use-compress-prog=pbzip2 jne jne

_______________
Et mul täna just on serveris Debianile suurem uuenduste paigaldamine käsil ja enne seda varundan terve süsteemi, siis katsetasin siin veidi progress bar'i lisamist
NB! see on näidis, seda oleks reaalsel rakendamisel mõistlik modifitseerida (nt varundada võrgukettale vms)
Enne varundamist on alati mõistlik tühjendada apt cache: sudo apt-get clean
(autoclean ei tee seda tühjaks - see eemaldab vaid ajaloo jooksul repost eemaldatud pakid ja allesjääv cache maht võib olla päris suur)

skript tuleb loomulikult käivitada sudo kaudu
bash:
  1. #!/bin/bash
  2. # loodava arhiivi nimi
  3. bckup=/home/kasutajanimi/systembackup_`date --rfc-3339=date`
  4.  
  5. # mitte varundada katalooge:
  6. exclusions='--exclude=/{dev,mnt,proc,run,sys,home,media}/* --exclude=tmp/*'
  7.  
  8. # kas meil on pv?
  9. if [ "$(pv --help)" == "" ]; then
  10. echo -e "puudub pipe viewer (pv), paigaldamiseks: \033[1msudo apt-get install pv\033[00m"
  11. exit 1
  12. fi
  13.  
  14. # kas meil on pbzip2?
  15. if [ "$(pbzip2 --help)" == "" ]; then
  16. echo -e "puudub parallel bzip2 (pbzip2), paigaldamiseks: \033[1msudo apt-get install pbzip2\033[00m"
  17. exit 1
  18. fi
  19.  
  20. echo "hindan varundatavate kataloogide kogumahtu..."
  21. size=`eval "du -sb $exclusions /" | sed -r 's/([0-9]+).*/\1/g'`
  22. echo "varundada on "$size" baiti"
  23. echo "loodava arhiivi nimi on "$bckup".tar.bz2, vead logitakse faili "$bckup"-errors.log"
  24. eval "tar -c --to-stdout $exclusions /* | pv -pterabs $size | pbzip2 > $bckup.tar.bz2 2>$bckup-errors.log"

_________________
Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus.
Kommentaarid: 33 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 32
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Linux & UNIX »  Serveri backup script
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.