praegune kellaaeg 18.06.2025 02:15:26
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
laurixx
HV vaatleja
liitunud: 27.07.2009
|
12.12.2013 17:54:47
Serveri backup script |
|
|
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 |
|
 |
napoleon
Unknown virus

liitunud: 08.12.2008
|
12.12.2013 18:16:15
|
|
|
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 |
|
 |
gynterk
HV kasutaja
liitunud: 17.01.2004
|
14.12.2013 03:12:21
|
|
|
Mida see script täpselt teeb? Mis tarkvara kasutatakse backuppimiseks?
|
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
5 |
|
tagasi üles |
|
 |
Dogbert
HV Guru

liitunud: 03.05.2004
|
14.12.2013 14:59:10
|
|
|
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 |
|
 |
laurixx
HV vaatleja
liitunud: 27.07.2009
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
Dogbert
HV Guru

liitunud: 03.05.2004
|
19.12.2013 12:04:24
|
|
|
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:
|
#!/bin/bash # loodava arhiivi nimi bckup=/home/kasutajanimi/systembackup_`date --rfc-3339=date` # mitte varundada katalooge: exclusions='--exclude=/{dev,mnt,proc,run,sys,home,media}/* --exclude=tmp/*' # kas meil on pv? if [ "$(pv --help)" == "" ]; then echo -e "puudub pipe viewer (pv), paigaldamiseks: \033[1msudo apt-get install pv\033[00m" exit 1 fi # kas meil on pbzip2? if [ "$(pbzip2 --help)" == "" ]; then echo -e "puudub parallel bzip2 (pbzip2), paigaldamiseks: \033[1msudo apt-get install pbzip2\033[00m" exit 1 fi echo "hindan varundatavate kataloogide kogumahtu..." size=`eval "du -sb $exclusions /" | sed -r 's/([0-9]+).*/\1/g'` echo "varundada on "$size" baiti" echo "loodava arhiivi nimi on "$bckup".tar.bz2, vead logitakse faili "$bckup"-errors.log" 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 |
|
 |
|
lisa lemmikuks |
|
|
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.
|