Hur tar du backup på din server?
Hur tar du backup på din server?
Hej.
Att ta backup på data etc. är väl inga konstigheter men hur tar ni backup på serverns konfiguration för att lätt komma igång med servern igen om hårddisken skulle krascha?
Vad jag menar är alla konfigurationsinställningar för exempelvis samba, SSH, PHP, apache, OpenVPN, fail2ban etc. etc.
Mvh,
Peter
Att ta backup på data etc. är väl inga konstigheter men hur tar ni backup på serverns konfiguration för att lätt komma igång med servern igen om hårddisken skulle krascha?
Vad jag menar är alla konfigurationsinställningar för exempelvis samba, SSH, PHP, apache, OpenVPN, fail2ban etc. etc.
Mvh,
Peter
- amelia
- Inlägg: 139
- Blev medlem: 06 mar 2008, 17:21
- OS: Fedora
- Utgåva: Vet inte/ingen utgåva passar
- Ort: Stockholm
- Kontakt:
Re: Hur tar du backup på din server?
Jag har skrivit ett eget litet backup-system i bash som använder ssh och rsync för att göra backuper. Inga konstigheter egentligen, använder rsync med --include-from=FILE och har en fil med en lista på alla filer jag vill göra backup på på respektive server.
I princip flyttar jag helt enkelt filerna till en annan dator bara. Jag ser ingen poäng i att försöka få till ett system som stöder "bare metal restore" eftersom att det är ett problem som de stora jättarna knappt reder ut under många omständigheter.
I princip flyttar jag helt enkelt filerna till en annan dator bara. Jag ser ingen poäng i att försöka få till ett system som stöder "bare metal restore" eftersom att det är ett problem som de stora jättarna knappt reder ut under många omständigheter.
Re: Hur tar du backup på din server?
Ok.
Och om du installerar en ny applikation, ex. en ftp-server så lägger du till konfigurationsfilerna för den i listan över filer som skall backas upp?
Mvh,
Peter
Och om du installerar en ny applikation, ex. en ftp-server så lägger du till konfigurationsfilerna för den i listan över filer som skall backas upp?
Mvh,
Peter
- amelia
- Inlägg: 139
- Blev medlem: 06 mar 2008, 17:21
- OS: Fedora
- Utgåva: Vet inte/ingen utgåva passar
- Ort: Stockholm
- Kontakt:
Re: Hur tar du backup på din server?
Nja, nu gör ju jag backup på hela /etc eftersom att den innehåller så mycket viktig information och tar väldigt lite plats. Skulle konfigurationsfilerna för en ny applikation finnas någon annanstans än i /etc får jag manuellt stoppa in den i filen som listar filerna som ska backas upp.
Re: Hur tar du backup på din server?
Hej!
Har samma fundering. Men skulle vilja ha ett sätt att se hur backuperna gick samt om det fanns möjlighet att bli notifierad om det gick fel.
Har samma fundering. Men skulle vilja ha ett sätt att se hur backuperna gick samt om det fanns möjlighet att bli notifierad om det gick fel.
- amelia
- Inlägg: 139
- Blev medlem: 06 mar 2008, 17:21
- OS: Fedora
- Utgåva: Vet inte/ingen utgåva passar
- Ort: Stockholm
- Kontakt:
Re: Hur tar du backup på din server?
Jag kör ett övervakningssystem (Xymon) som övervakar om backuperna har gått som de ska, har de inte det får jag ett mail precis som om något annat gått ner. Det kanske är lite mycket om man inte har någon nytta av att övervaka annat.
Ett annat alternativ är ju att använda mail-kommandot för att skicka mail t.ex. när backuperna inte fungerar. Man kan ju alltid använda sig av return code för hela skriptet eller en rad i skriptet för att avgöra om backuperna fungerade eller inte och om man isåfall ska maila eller inte.
Ett annat alternativ är ju att använda mail-kommandot för att skicka mail t.ex. när backuperna inte fungerar. Man kan ju alltid använda sig av return code för hela skriptet eller en rad i skriptet för att avgöra om backuperna fungerade eller inte och om man isåfall ska maila eller inte.
Re: Hur tar du backup på din server?
Själv kör jag den enkla varianten:
Separat disk på /backup, sen körs mirrordir därifrån:
Så vill jag ha SSH konfigurationen som den var den 22a januari 2010 så är det bara att titta i:
/backup/.20100122/root_fs/etc/ssh/
Och ja, det är ingen bra idé att köra backupen på BTRFS, men nej, jag kör inget "affärskritiskt" på min server.
Separat disk på /backup, sen körs mirrordir därifrån:
Kod: Markera allt
#!/bin/bash
# Backup för sandnabba.se, av Emil sandnabba
# Databaser:
DATABASER="cacti drupal gallery2"
echo 'Mirroring: xxxx'
mirrordir -F excluded.txt /home /backup/root_fs/xxxx
echo 'Mirroring: xxxx'
mirrordir -F excluded.txt /home /backup/root_fs/xxxx
echo 'Mirroring: xxxx'
mirrordir -F excluded.txt /home /backup/root_fs/xxxx
echo ; echo Databaser:
bash /backup/mysqlbackup.sh $DATABASER
# Avsluta med ett snapshot:
btrfsctl -s .$(date +%Y%m%d) /backup/
/backup/.20100122/root_fs/etc/ssh/
Och ja, det är ingen bra idé att köra backupen på BTRFS, men nej, jag kör inget "affärskritiskt" på min server.

Home sweet ~/ = http://sandnabba.se
Re: Hur tar du backup på din server?
Hej Emil!
Fick frågan av en kollega som blev imponerad av hur allt var filer i linux och att dte då bara var att backa rätt saker. Han funderade ett steg längre och jag tänkte ställa samma fråga.
Då skulle det i princip räcka med att installera en ny server och läsa till baka all info så har man en bare metall restore?
Fick frågan av en kollega som blev imponerad av hur allt var filer i linux och att dte då bara var att backa rätt saker. Han funderade ett steg längre och jag tänkte ställa samma fråga.
Då skulle det i princip räcka med att installera en ny server och läsa till baka all info så har man en bare metall restore?
Re: Hur tar du backup på din server?
Jejjamen, förutsatt att man kör samma programversioner.freddess skrev:Hej Emil!
Fick frågan av en kollega som blev imponerad av hur allt var filer i linux och att dte då bara var att backa rätt saker. Han funderade ett steg längre och jag tänkte ställa samma fråga.
Då skulle det i princip räcka med att installera en ny server och läsa till baka all info så har man en bare metall restore?
Gör alltid så själv, installerar en ny server, och kopierar över den gamla konfigurationen.
Funkar i 99% av fallen.
Ett tips är ju att installera och testa nya saker i en virtuell maskin, och sen kopiera över hela den virtuella maskinen till servern sen för smidiga övergångar.

Home sweet ~/ = http://sandnabba.se
- amelia
- Inlägg: 139
- Blev medlem: 06 mar 2008, 17:21
- OS: Fedora
- Utgåva: Vet inte/ingen utgåva passar
- Ort: Stockholm
- Kontakt:
Re: Hur tar du backup på din server?
En bare metal restore går ut på att skriva tillbaka allt inkl operativsystem och applikationer utan att installera något system först. Om du gör backup på allt, med några få undantag typ /proc och /dev, så kan det gå att genom att boot:a från en skiva eller USB-sticka göra en bare metal restore.freddess skrev: Då skulle det i princip räcka med att installera en ny server och läsa till baka all info så har man en bare metall restore?
Om man installerar ett operativsystem på servern och försöka göra en fullständig restore finns det flera tillfällen då man kommer stötta på stora problem som med största sannolikhet gör att restoren inte kan slutföras. T.ex. kommer problem uppstå när man ska göra restore på den binärkatalog där programmet man gör restore med ligger om det nu är /bin, /sbin, /usr/bin eller vad det kan vara samt även när man gör restore på /lib.
Min personliga åsikt och det jag skulle rekommendera andra är att satsa på filbackuper av de filer som är viktiga och strunta fullständigt i operativsystemet och applikationer man har installerade. Har man inget behov av att vara på exakt samma patchnivå efter en restore så gör er inte besväret att med full systemsbackuper och bare metal restores.
Re: Hur tar du backup på din server?
Och hur vet man vilka filer som skall sparas. Hela /etc är ju bra. Men hur vet man om konfiguration och data ligger på andra ställen?
Re: Hur tar du backup på din server?
Generellt sett så är det bara /etc som är viktigt. Är det något annat så bör du veta om det, då det är du som ändrat något.gusse02 skrev:Och hur vet man vilka filer som skall sparas. Hela /etc är ju bra. Men hur vet man om konfiguration och data ligger på andra ställen?
Använder du mysql så finns databaserna i /var/ iof.
Själv tar jag backup på nästan hela systemet. Men det är mestadels bara för att kunna återställa ifall man råkar köra "rm -rf /usr/" eller nåt.
Home sweet ~/ = http://sandnabba.se
- amelia
- Inlägg: 139
- Blev medlem: 06 mar 2008, 17:21
- OS: Fedora
- Utgåva: Vet inte/ingen utgåva passar
- Ort: Stockholm
- Kontakt:
Re: Hur tar du backup på din server?
Som sagt, de flesta konfigurationsfiler ligger i /etc, gör de inte det så borde du känna till det redan eftersom att du då själv lagt dem där. Från konfigurationsfilerna i /etc/ kan du ta reda på var data för applikationen lagras.Emil.s skrev: Generellt sett så är det bara /etc som är viktigt. Är det något annat så bör du veta om det, då det är du som ändrat något.
Dock vill du inte göra backup på dessa filer som de är då det kan orsaka data loss och korrupta databaser vid återläsning. Istället vill du göra en dump av databasen t.ex. med mysqldump för att sedan göra backup på dumpfilen.Emil.s skrev: Använder du mysql så finns databaserna i /var/ iof.
Re: Hur tar du backup på din server?
Jag versionshanterar (GIT) hela $HOME och hela /etc. Dessutom kör jag backup på bägge dessa en gång om dagen, dels till en separat disk, dels till min server.
Och om man vill backa tillbaka i historiken så ser jag inte hur något kan vara bättre än t.ex git.
Jag har bara kod och konfigurationsfiler i $HOME, men om du även lagrar din musik och dina filmer där så kan det vara lämpligt att undanta dessa.
Och om man vill backa tillbaka i historiken så ser jag inte hur något kan vara bättre än t.ex git.
Jag har bara kod och konfigurationsfiler i $HOME, men om du även lagrar din musik och dina filmer där så kan det vara lämpligt att undanta dessa.
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
ǁ Q: Why is top posting so bad?
Re: Hur tar du backup på din server?
Emil.s skrev:Själv kör jag den enkla varianten:
Separat disk på /backup, sen körs mirrordir därifrån:Så vill jag ha SSH konfigurationen som den var den 22a januari 2010 så är det bara att titta i:Kod: Markera allt
#!/bin/bash # Backup för sandnabba.se, av Emil sandnabba # Databaser: DATABASER="cacti drupal gallery2" echo 'Mirroring: xxxx' mirrordir -F excluded.txt /home /backup/root_fs/xxxx echo 'Mirroring: xxxx' mirrordir -F excluded.txt /home /backup/root_fs/xxxx echo 'Mirroring: xxxx' mirrordir -F excluded.txt /home /backup/root_fs/xxxx echo ; echo Databaser: bash /backup/mysqlbackup.sh $DATABASER # Avsluta med ett snapshot: btrfsctl -s .$(date +%Y%m%d) /backup/
/backup/.20100122/root_fs/etc/ssh/
Och ja, det är ingen bra idé att köra backupen på BTRFS, men nej, jag kör inget "affärskritiskt" på min server.
Detta är ju en intressant modell. Tror du att du skulle kunna förtydliga koden lite? Lägger du den som ett cron job? Kräver detta att det är btrfs? Tror jag har ext4 som standard på min maskin.
Skulle man kunna lägga in någon logg funktion funkad/funkad ej?
- amelia
- Inlägg: 139
- Blev medlem: 06 mar 2008, 17:21
- OS: Fedora
- Utgåva: Vet inte/ingen utgåva passar
- Ort: Stockholm
- Kontakt:
Re: Hur tar du backup på din server?
Bacula är ganska stort och kanske mer lämpat för en mindre servermiljö än hemmabruk. Det är även väldigt fokuserat kring att man använder band, antingen virtuella band på disk eller riktig bandstation.
Ett bättre alternativ kanske kan vara BackupPC (http://backuppc.sourceforge.net/). Av vad jag har hört är det betydligt mer lätthanterat än Bacula.
Ett bättre alternativ kanske kan vara BackupPC (http://backuppc.sourceforge.net/). Av vad jag har hört är det betydligt mer lätthanterat än Bacula.
Re: Hur tar du backup på din server?
Den skapar en kopia av mitt filsystem på en separat disk.freddess skrev: Detta är ju en intressant modell. Tror du att du skulle kunna förtydliga koden lite? Lägger du den som ett cron job? Kräver detta att det är btrfs? Tror jag har ext4 som standard på min maskin.
Skulle man kunna lägga in någon logg funktion funkad/funkad ej?
Sen skapas ett snapshot så man kan gå tillbaka i "tiden".
Jag skör skriptet själv när jag känner att det är dags

Oftast efter att man grejat ordentligt med servern.
Men självklart så går det att göra en lösning med cron. Då bör man dock göra nån sorts inbyggd kontroll som ser till att allt går bra. (kanske köra all output till en fil, och ta en checksumma på den?)
Förut körde jag med http://rsnapshot.org/. Blir ungefär samma princip som med btrfs snapshots.
Fördelen med snapshots är ju at det är mycket enklare att administrera, och går snabbt att skapa/ta bort.
Finns ju ett backup-program som heter "Amanda" också:
http://www.amanda.org/
Ingen erfarenhet av det dock...
Home sweet ~/ = http://sandnabba.se
Re: Hur tar du backup på din server?
Gott med idéer här. Skall börja med att ta backup på /etc, det låter ju som en bra idé
Funderar på att använda en online backup typ SpiderOak då jag använder det till backup av lite andra saker, någon annan som har erfarenhet av detta?

Funderar på att använda en online backup typ SpiderOak då jag använder det till backup av lite andra saker, någon annan som har erfarenhet av detta?