Introduksjon
Krav
Installasjon
Konfigurasjon
Forbindelse
Konfigurer Autobackup
Legg til server
Global ekskluderer
Serverspesifikke ekskluderer
Gjenopprett data
Konklusjon
Introduksjon
Autobackup er et automatisert backup-system som henter data til backup fra en ekstern server og lagrer dem på serveren. I vårt tilfelle kan vi bruke en Vultr Storage Instance med enorme mengder diskplass og sikkerhetskopiere alle våre Compute Instances gjennom det for å forhindre tap av data.
Krav
Installasjon
Du kan enkelt installere AutoBackup gitpå systemet ditt. Gå videre og klon depotet:
mkdir /opt/
git clone https://github.com/fbrandstetter/Autobackup.git /opt/autobackup/
Konfigurasjon
Før vi kan begynne å sikkerhetskopiere data fra våre Compute Instances, må vi få tilgang til dem. For det vil vi opprette en SSH-nøkkel på vår Storage Instance og gi tilgang fra den til alle Compute Instances. Deretter begynner vi med å lage nøkkelen:
ssh-keygen
Per nå må vi kopiere vår offentlige nøkkel til Compute Instances. Åpne følgende fil ~/.ssh/id_rsa.pubog kopier den til Compute Instances' ~/.ssh/authorized_keys:
cat ~/.ssh/id_rsa.pub
Hvis du ikke jobber med offentlige nøkler for å få tilgang til Compute Instances, må du først angi den autoriserte nøkkelfilen i SSH-serverkonfigurasjonen. Åpne følgende fil /etc/ssh/sshd_configpå Compute Instances og fjern kommentarene på følgende linje:
AuthorizedKeysFile %h/.ssh/authorized_keys
Forbindelse
Når du har lagt til SSH-nøkkelen til Storage Instance på alle Compute Instances, kan du fortsette med å prøve tilkoblingen til en av Compute Instances (for å unngå problemer senere, sørg for at tilkoblingen til alle servere fungerer):
ssh root@COMPUTE_INSTANCE_1
Du skal kunne logge på uten å skrive inn noe passord eller noe annet.
Autobackup krever en viss konfigurasjon for å fungere som den skal. Åpne /opt/autobackup/backup.shfilen, siden enhver konfigurasjon blir lagret i selve bash-filen. Ta en titt på følgende linjer og tilpass dem etter dine behov:
BACKUPDIR=""
PASSWORD=""
FREEUPSPACE=""
MAXUSED=""
- BACKUPDIR: Dette er mappen der alle sikkerhetskopier vil bli lagret.
- PASSORD: Dette er passordet som brukes til å kryptere sikkerhetskopiene.
- FREEUPSPACE: Definerer om skriptet skal slette gamle sikkerhetskopier hvis disken er full eller ikke.
- MAXUSED: Definerer hva den laveste diskstørrelsen er tillatt til den stopper sikkerhetskopieringen eller begynner å slette gamle.
Legg til server
Alle servere som skal sikkerhetskopieres, lagres i /opt/autobackup/serverlist.templatefilen i følgende format:
<SERVER_HOSTNAME OR IP>|<USERNAME FOR AUTHENTICATION>|<EXCLUDE LIST>
Global ekskluderer
Som standard sikkerhetskopierer Autobackup automatisk hele serveren, det betyr at den prøver å laste ned /rekursivt. Fordi noen mennesker ikke trenger å sikkerhetskopiere hele systemet, kan du legge til globale ekskluderinger (som gjelder for enhver server) og serverspesifikke ekskluderinger, som gjelder for spesifikke servere. Alle globale ekskluderinger blir lagret i filen som kalles, /opt/autobackup/default-excludes.templateog filen er forhåndsutfylt med /procog /dev, du kan legge til nye mapper og filutvidelser der ved å legge til nye linjer:
/proc
/dev
Serverspesifikke ekskluderer
Fordi de fleste kjører forskjellige typer servere (f.eks. webservere og databaseservere) er det unike ekskluderingslister for hver server. Formatet til de serverspesifikke ekskluderingsfilene ser likt ut som de globale. Du kan opprette en ny fil og kalle den til den EXCLUDE_LISTdu angir for serveren i serverlisten. Hvis du ikke vil ha noen ekskluderingsliste spesifisert for denne serveren, sett den til emptyi serverlisten. Filen som emptyble kalt ble allerede lastet ned av depotklonen - denne filen er tom for å ha ingen kataloger eller noe annet ekskludert, mens standardekskluderingene fortsatt trer i kraft.
Gjenopprett data
I et ideelt miljø er det ikke engang meningen at vi skal gjenopprette våre krypterte sikkerhetskopier. Selv om det er ganske enkelt å gjenopprette dem når vi har problemer og vi trenger å hente sikkerhetskopierte data. Du kan gjenopprette hvilken som helst sikkerhetskopifil ved å bruke følgende kommando:
openssl aes-256-cbc -d -salt -in BACKUP.tar.aes -out BACKUP.restored.tar
mkdir backup/
tar -xvf BACKUP.restored.tar backup/
Erstatt BACKUP.tar.aesmed filnavnet til ønsket sikkerhetskopi som skal gjenopprettes. BACKUP.restored.tarvil være filnavnet til det ukrypterte arkivet. I eksemplet ovenfor har vi allerede gjort de neste trinnene, som er:
- Lag en ny mappe
- Gjenopprett det ukrypterte arkivet til mappen
Konklusjon
Autobackup er et helautomatisert og ganske smart sikkerhetskopieringsskript som håndterer sikkerhetskopiene automatisk for oss, og det store pluss er at dataene krypteres med et passord som kan være nesten ubegrenset langt. Det betyr at så lenge du holder passordet ditt sikkert og det er lenge nok, er ingen i stand til å berøre dataene dine i tide. Lykke til med hacking!