Får du taget backup?

Det burde egentlig være temelig indlysende. Selfølgelig bliver der taget backup af mit arbejde. Det vil sige, der bliver taget backup af produktionssystemerne og source repositoriet. Desktopmaskinerne er vores eget ansvar, men der ligger jo ikke noget vigtigt og i øvrigt kunne jeg jo ikke finde på at slette noget forkert, vel?

For mig er det så sket to gange inden for de sidste par måneder at jeg har dummet mig. Første gang en regulær rm-kommando udført det forkerte sted. Der røg lige forarbejdet til en kravsspecifikation, det var jo kun noter så de blev ikke lagt i det fælles CVS. Anden gang skulle jeg teste et script der gjorde noget ala:

$ ssh host 'sh -c "cd /var/spool/some/dir; find -maxdepth 1"' $gt; filelist
[...]
$ ssh host 'sh -c "cd /var/spool/some/dir; xargs rm"' < filelist

Men jeg havde glemt at pakke testdata ud, så der røg lige alle filerne i mit hjemkatalog. (Den fejl fik jeg så lige rettet)

Så backupsystem! Det skal være nemt at sætte op, nemt at rede min enden når jeg har dummet mig. Alt sådan noget som at gemme på cd-rom eller ligende er unødvendigt. Jeg kunne sagtens selv splejse noget sammen (og bryde med krav 1), men valget er faldet på rdiff-backup.

At tage backup er så enkelt som

$ rdiff-backup /home/makholm /var/backup/makholm/

og hvis jeg opdager en fejl med det samme er en restore så simpel som

$ cp /var/backup/makholm/* /home/makholm

men der bliver gemt lige så mange incremental-versioner tilbage som man ønsker. Så skal man bare anvende rdiff-backup til at lave et kopi som ens hjemmekatalog så ud på det tidspunkt man ønsker at restore fra.

Selvfølgeligt kører backup-rutinen fra et dagligt anacron-job, så det sker hver morgen efter jeg har tændt min arbejdsmaskine.

Derhjemme har jeg altid taget backup på kryds mellem min server om min bærbare. Desvære døde de begge med lidt under en måneds mellemrum. Så nu har jeg fået en mere varig backup af mit websted:

Illustration: Privatfoto

Jeg mangler dog lige at forsøge at køre en restore-test.

Kommentarer (11)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Bjarke Sørensen

Jeg gad bare godt at finde en god løsning der kan lave backup til FTP, da vi med vores server-leje aftale har mulighed for backup til FTP.

Og så skal man enten lave et TAR og uploade og derefter slette det gamle TAR (der er begrænset plads) eller også skal man finde på noget andet.

Er der nogen der har fundet på noget smart?

  • 0
  • 0
Poul-Henning Kamp Blogger

Jeg har skam check-læst din backupkopi, selvfølgelig virker den!

Bortset fra det, så er der tre ting ved de fleste backupværktøjer der irriterer mig:
1. de kan ikke finde ud af at filer flytter sig.
2. når man laver inkremental restore sletter de ikke de filer der er forsvundet imellemtiden.
3. det er forbandet svært at lave "time-travel" og se hvornår en given fil har ændret sig.

Jeg har skrevet mit eget backupværktøj "Stow" som gemmer filerne efter deres indhold (Content Addressable Storage) og nu kan jeg alle tre ting.

http://phk.freebsd.dk/Stow Burde kunne porteres til alle rimelige UNIX'er.

Poul-Henning

  • 0
  • 0
Kim Rud Bille

Personligt bruger jeg Jungle Disk (http://jungledisk.com/) til at tage backup. Jungle Disk bygger oven på Amazons S3, som er super billigt og er distribueret. Så selv hvis terroren rammer amazon i UK, så har jeg stadig backup på en af amazons andre serverer.

Jungle Disk er kan to ting, automatisk backup og remote disk. Så man burde kunne sætte det op som et drev / mounte det i sit filsystem og så bruge rdiff-backup til at kopier det man ønsker der til. The best og two worlds, måske? :)

  • 0
  • 0
Jesper Larsen

Jeg har en Debian server, min kammerat har også en Debian server.
Vi vil gerne køre lave remote backup til hinanden.

Men! jeg vil ikke ha min kammerat kan side og følge med i hvad jeg skriver til f.eks. min bank.

Så! backupen skal obevares således at kun jeg kan dekryptere den. Og skal spare på båndbreden, da vi begge kun har alm. ADSL forbindelser med begrænset upload hastighed...

Nogle forslag??

  • 0
  • 0
Peter Favrholdt

Jeg bruger rsync til at lave lokal backup ind i et katalog der er navngivet YYYY/MM/DD/HHMM

Ved at bruge --link-dest=DIR kan rsync "hard-linke" til filer der ikke har ændret sig siden sidste backup.

Normalt bruger man rsync således:

rsync source destination

Men med --link-dest bliver det tre argumenter:

rsync --link-dest=linkdir source destination

Hvis en fil der ligger i source allerede findes helt identisk i linkdir, så laves der blot et hardlink til filen i linkdir i destination.

Fordelen er at enhver backup-kopi er et komplet sæt - der skal ikke gøres noget for at restore.

Ulempen er selvfølgelig at alting ligger minimum to gange, og at store filer der ændres tit bliver kopieret i fuld længde.

Det er klart at det ikke er nok at tage backup lokalt, så efter den lokale backup benyttes rsync til en remote-server der derefter tager en tidsstemplet kopi.

Spændende indlæg i øvrigt.

mvh. Peter

  • 0
  • 0
Peter Makholm Blogger

Poul-Henning, sidder du virkelig og opfordrer til at man bare tager sin backup-leverandørs ord for gode vare?

Jeg så på Stow da du bloggede om det og det ser interessant ud. Det opfylder helt klart nogle interessante krav som jeg ikke får med rdiff-backup. Det handler også lidt om behov, først og fremmest skal denne backup rede mig når jeg dummer mig så kraftigt at jeg opdager det (kom selv med de indlysende kommentare). Jeg synes mest jeg ser Stows værdi hvis jeg har behovet for at se tidligere versioner af projekter, men alt det er i vores fælles versionsstyringssystem.

Peter Favrholdt, den model har jeg faktisk set før. Der var --link-dest funktionaliteten dog implementeret som noget selvstændigt "efterbehandling" af rsync-destinationen.

Bjake og Kim, jeg overvejede faktisk om man kunne løse spørgsmålet om backup til ftp ved at bruge noget ala ftpfs (http://ftpfs.sourceforge.net/) og så bare bruge noget rdiff-backup agtigt. Det kunne muligvis være lidt usundt for netværksbelastningen fordi alle data skal flyttes til lokalmaskinen for at rdiff-backup kan se dem.

Jesper, det kunne være meget interessant at høre om det hvis I finder en god løsning på noget krypteret backup. Jeg tror absolut ikke det er en ide I er ene om og jeg meneer at der er et par projekter derude. Desvære kender jeg ikke noget til dem.

  • 0
  • 0
Klaus Elmquist Nielsen

Jeg kan anbefale at bruge "cd /dir || exit 1" frem for "cd /dir", da udførslen af kommandoen stopper hvis kataloget ikke findes.

I mine udviklingsprojekter har jeg en løsning hvor "make save" tager et snapshot af de vigtige filer og gemmer dem som en tidsstemplet tar.gz fil, gerne på en anden maskine. Dette erstatter naturligvis ikke rigtig backup, men er et vigtig og finkornet supplement hertil.

  • 0
  • 0
Hans Schou

Med en ADSL-forbindelse må der jo ikke overføres så meget data pr dag, så kryptering af de enkelte filer er nødvendigt, hvis I vil bruge rsync.

Ganske kort:

  1. Kryptér hver enkelt fil og hver subdir-navn
  2. rsync-backup ændrede filer til den anden

Hvis brugeren hedder 'joe', så:

Installation:

su
modprobe fuse; echo "fuse" >>/etc/modules
apt-get install encfs
chown root.fuse /dev/fuse
chmod g+x /usr/bin/fusermount
adduser joe fuse
exit

Ved hver boot:

encfs ~/.skalgemmes ~/skalgemmes

Så vil alle filer der lægges i ~/skalgemmes blive gemt krypteret i ~/.skalgemmes

Backup: rsync -Havxessh ~/.skalgemmes/ joe@example.com:.skalgemmes/

Lidt kort fortalt, men det virker.

  • 0
  • 0
Poul-Henning Kamp Blogger

Hvis du nu havde undersøgt hele strimmlen ordentligt, så ville du vide at din backupleverandør har gjort sig anakronistisk umage for at give dig en backupkopi du kan stole på :-)

Men du er velkommen ude i Ballerup en torsdag aften hvis du vil have lavet en kontrol-læsning :-)

Poul-Henning

  • 0
  • 0
Martin Zacho

Laver en natlig kopi af min web-server med fruens web-butik, persolige papire etc. Laver den som en ugentlig fuld backup (tar af /www /home og /etc)og natlige inkremental backup'er.
Inden de sendes ud af huset, får de lige en tur igennem gpg.
Den fulde backup fylder ca. 1 GByte og de inkrementale er som regel < 20 MB.
Martin.

  • 0
  • 0
Log ind eller Opret konto for at kommentere