Backup av systemfiler

Har du noe lurt å dele med oss? NB. Dette er ikke et support forum.

Backup av systemfiler

Innleggav sveur » lør 24.03.2007 1:51

I Linux gjør jeg ukentlig dumme ting som root. Fins det et fint og enkelt (les: GUI) program som backer opp alle systemfilene og gjør det enkelt å restore endringer via terminal når X ikke vil starte opp?
medlem i 208 måneder
 

Innleggav Lomz » lør 24.03.2007 2:21

Jeg bare tenker at det ville vært bedre med et non-gui program til dette, sånn med tanke på det at det kan være noe vanskelig å starte et gui program uten X

Men jeg skulle gjerne hatt noe lignende.

Brukerens avatar
medlem i 214 måneder
 

Innleggav sveur » lør 24.03.2007 2:22

Du har kanskje et poeng der ja, lomz. vet du om noe? Evt en "vanlig" backup manager med inkrementell (eller noe) backup.
medlem i 208 måneder
 

Innleggav ak » lør 24.03.2007 2:59

Jeg kjører følgende en gang i uken, for /home har jeg separate script:

Kode: Merk alt
#!/bin/bash

rm /home/server_backup/*

echo "Backing up /boot:"
date
mount /boot
tar -cjpf /home/server_backup/boot.tbz2 /boot
umount /boot

echo "Backing up /bin:"
date
tar -cjpf /home/server_backup/bin.tbz2 /bin

echo "Backing up /etc:"
date
tar -cjpf /home/server_backup/etc.tbz2 /etc

echo "Backing up /lib:"
date
tar -cjpf /home/server_backup/lib.tbz2 /lib

echo "Backing up /opt:"
date
tar -cjpf /home/server_backup/opt.tbz2 /opt

echo "Backing up /root:"
date
tar -cjpf /home/server_backup/root.tbz2 /root

echo "Backing up /sbin:"
date
tar -cjpf /home/server_backup/sbin.tbz2 /sbin

echo "Backing up /usr:"
date
tar -cjpf /home/server_backup/usr.tbz2 /usr --exclude="/usr/portage" --exclude="/usr/src"

echo "Backing up /var:"
date
tar -cjpf /home/server_backup/var.tbz2 /var --exclude="/var/tmp"

rsync -alW --delete --stats /home/server_backup/ rsync.domene.no::server_os

echo "Script completed"
date


Følgende kopierer alt til en rsync-server, hvis du ikke har det kan du kopiere filen fra /home/server_backup manuelt
Kode: Merk alt
rsync -alW --delete --stats /home/server_backup/ rsync.domene.no::server_os


Vil du ha det samme må du bare opprette /home/server_backup og lime koden ovenfor inn i en tekstfil du kaller f.eks. os_backup

Legg denne i /etc/cron.weekly
Og gjør den eksekverbar med
chmod 700 /etc/cron/weekly/os_backup

Skal du gjennopprette systemet stopper du alle tjenester (init 1) og
cd /
tar xjvf /home/server_backup/usr.tbz2
tar xjvf /home/server_backup/bin.tbz2
osv..

Hvis disken forsvinner helt må du først installere på nytt, og så pakke ut. Jeg kjører RAID på disse maskinene og regner det derfor som relativt lite sannsynlig, samt at jeg vil ha filene i et format hvor jeg lett kan hente ut enkeltfiler (derfor er de også pakket som en fil per directory).

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav TO » lør 24.03.2007 14:14

Kanskje er det tilstrekkelig for deg å sette et direktorat under versjonskontroll. Det finns bl.a. Bazaar-NG (krever Python 2.4) og Mercurial (den krever kun Python 2.3 og kan derfor kompileres på RHEL4 og er derfor mitt valg) . Begge disse er veldig lett å bruke. For å sette allt i et direktorat, viktig, under versjonskontroll trengs kun tre kjappe kommandoer:

Med Mercurial (hg):
$ cd viktig
$ hg init
$ hg add
$ hg commit -m "Initiell versjon av dir: viktig"

Med Bazaar-NG (bzr):
$ cd viktig
$ bzr init
$ bzr add
$ bzr commit -m "Initiell versjon av dir: viktig"

Versjonsdepotet ligger i skjult direktorat: viktig/.hg for Mercurial og viktig/.bzr for Bazaar-NG.

Både Mercurial og Bazaar-NG støtter eksport/arkivering av siste versjon til tar-fil samt status, log, diff og revert som kanskje er de kommandoene jeg har brukt mest. Du identifiserer filer/direktorat som skal ignoreres, og ikke settes under versjonskontroll, i filene viktig/.hgignore og viktig/.bzrignore respektivt

Jeg anbefaler en av disse som sikkerhetsnett for alle som arbeider "destruktivt" på filer med: bilder, kode, tekst, ...
medlem i 212 måneder
 

Innleggav ak » lør 24.03.2007 18:59

direktorat = directory, eller mer som "repository"? (har bare aldri sett ordet brukt i en slik sammenheng før)

Hvordan håndterer en slik løsning binære filer?

Versjonshåndtering av /etc har jeg brukt en del, men jeg tror du trenger enda mer backup for å beskytte deg selv mot grove feil, f.eks. overskriving eller sletting av hele directoryer.

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav TO » lør 24.03.2007 19:40

>direktorat = directory, eller mer som "repository"?
Direktorat i den vanlige betydningen. "Repository" er et skjult direktorat,
f.eks. har jeg direktoratet /etc/.hg som "repository" for /etc.
>Hvordan håndterer en slik løsning binære filer?
I følge dokumentasjonen, helt flott.
medlem i 212 måneder
 

Innleggav ak » lør 24.03.2007 19:48

Så du sier "direktorat" er det samme som "mappe" eller "katalog"

Spørsmålet mitt var ikke godt nok formulert, det jeg lurer på, er om disse systemene lager "binary diffs" eller kopierer hele filen?

Jeg vet ikke om binary diffs løser problemet, men jeg er helt sikker på at hvis de kopierer hele filer som har endret seg så vil /usr vokse seg til en koloss i løpet av ett år, ihvertfall på de aller fleste distribusjoner.

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav TO » lør 24.03.2007 20:38

Jeg svarer kun for Mercurial her, siden den nok er hurtigst for slike store versjonslager, referanse:
http://www.selenic.com/mercurial/wiki/index.cgi/FAQ

Fra FAQ "7 technical details" :

How does Mercurial store its data?
The fundamental storage type in Mercurial is a "revlog". A revlog is the set of all revisions of a named object. Each revision is either stored compressed in its entirety or as a compressed binary delta against the previous version. The decision of when to store a full version is made based on how much data would be needed to reconstruct the file. This lets us ensure that we never need to read huge amounts of data to reconstruct a object, regardless of how many revisions of it we store.

Mao. programmet gjør ihvertfall så godt som det kan gjøre
medlem i 212 måneder
 

Innleggav exi » tir 07.08.2007 14:04

Hva med bare bruke dd evntuelt cp med gitte parameter ?

Hvis du ønsker kan du jo bruke denne (generer et enkelt cp script) et for backup og et for restore... (filen skulle være binar på cvs (dvs compilert)

http://sourceforge.net/projects/backupscripter/

Gui`en lager scriptet... men scriptet er 100% console./terminal.. og tar backup med "rev kontroll" av den katalogen du velger... til den katalogen du velger... :)
Sist endret av exi den ons 08.08.2007 18:27, endret 1 gang

Brukerens avatar
medlem i 202 måneder
 

Innleggav postlogic » ons 08.08.2007 12:48

Kan jo alltids titte på grsync også. Ved hjelp av det kan du sette opp en cronjob for å ta backup i jevne intervaller..

Brukerens avatar
medlem i 210 måneder
 


Returner til Tips og triks / Favoritter



Hvem er i Forumene

Registrerte brukere: Google [Bot]