Vi vanlige databrukere avhenger så mye på digitale dokumenter som det ville være gal for ikke å gjøre vårt beste for å sørge for at vi aldri vil miste dem, uansett hva som skjer <. br>
Den første del av løsningen, selvfølgelig, er å bare lagre filer i åpne, standardformater som gir størst mulig garanterer å være leselige i fremtiden med noe programvare. Den andre, som er gjenstand for en tredelt miniserie som starter i dag, er å alltid ha sikkerhetskopier av hver fil.
I denne artikkelen vil vi begynne med noen viktige kriterier for å følge når du planlegger sikkerhetskopier. Da viser vi en veldig enkel backup script. Det kan ikke være glamorøse, men vil bli sikkert fungere på alle distribusjon eller Desktop Environment du kan bruke i foreseable fremtiden.
Grunnleggende kriterier
Den første regelen for sikkerhetskopiering er å lagre dem i et eget sted. Hvis du lagrer både originaler og backup på samme datamaskin, er en maskinvarefeil alt du trenger å miste alt for bra: alltid kopiere på eksterne harddisker eller annet sted på nettet sikkerhetskopiene!
Den andre ting å sortere ut, er å finne ut nøyaktig hva du trenger å lagre og hvor ofte du må gjøre det. Sikkerhetskopiering av alt, hver dag, ville være bare en stor sløsing med tid og rom.
Binary programmer, for eksempel, bør bare installeres på nytt fra den opprinnelige pakker eller kildekoden. For loggfiler i stedet installere logrotate.
System konfigurasjonsfiler lagres vanligvis i /etc /katalog. Brukerkonfigurasjonsfiler, i stedet, er skjult noe inn i de respektive $ HOME kataloger. Alle disse filene er av liten størrelse, men bare endre etter store endringer i miljøet (datamaskin, distribusjon eller ISP) eller hvis du bytter ut noen store programvarekomponent, som Postfix med Exim eller KDE med Gnome. Derfor kan du enten kaste bort en liten bit av plass (re) å kopiere dem på hver backup, eller bare lagre kopier manuelt når du faktisk endre dem.
Relasjonsdatabaser som MySQL eller PostgreSQL, som også brukes som backends av flere desktop-applikasjoner, er mer komplisert. Backup-messig, de ser ut som bunter av binære filer som en server modifiserer med ujevne mellomrom. Du kan ikke bare lage en direkte kopi av disse filene, og være sikker på at de vil være brukbare. Du må fortelle serveren selv, i stedet for å dumpe alle sine data i ASCII-filer som du deretter kan sikkerhetskopiere som alt annet: de tilsvarende enkle prosedyrer er forklart i egne artikler, en for MySQL og én for PostgreSQL sikkerhetskopier.
Hva med e-post? det vi ser i vår e-postklient vindu som en "postkasse" som inneholder mange meldinger kan være på disken enten en enkelt fil (mbox format) eller en katalog der hver melding er i en egen fil (Maildir og lignende). Backup-messig, er den andre løsningen bedre, i hvert fall for postkasser som endres ofte, fordi du kan behandle enkeltmeldinger som alle andre bruker fil, fra regneark til filmer eller bilder gallerier.
automatiserte sikkerhetskopier
Bruker filer skal sikkerhetskopieres ofte! Den enkleste og mest effektive måten å utføre automatiserte sikkerhetskopier, i hvert fall for nybegynnere, er å kombinere full backup, gjort hver måned eller uke, med daglige inkrementelle seg. De sistnevnte bare arkiver filer endret eller lagt i de siste 24 timene eller siden siste full backup, noe som sparer mye diskplass.
Enkle backup metoder sette sammen alle filene du trenger for å spare i en stor Nyhetsarkiv Skal du komprimere og /eller kryptere disse arkivene? Kanskje, kanskje ikke. Hvis de fleste av de arkiverte filene er i allerede komprimerte formater, fra MP3 til Opendocument, er du ikke kommer til å få mye plass med ytterligere komprimering. Dessuten, hvis en komprimert arkiv er skadet, kan det bli umulig å pakke den. I et slikt tilfelle, ville du mistet alle filene den inneholdt. Hvis noen del av tjære filen er skadet, i stedet, resten er fortsatt utvinnbare. Kryptering har alle de samme risikoene, pluss en av glemme passord. Det gjør nok mer fornuftig å finne ut hva dine virkelig private filer er, og kryptere hver av dem separat. Det beste kompromiss mellom enkelhet og fleksibilitet for sikkerhetskopier på Gnu /Linux-systemer er GNU-versjonen av tjære (Tape Archiver) program, som også kommer med en omfattende online bruksanvisning. Tar kan skape arkiver fra scratch eller legge til nye filer til eksisterende. Det er også i stand til å finne ut hvilke av filene inneholdt i et arkiv der endret etter etableringen, og erstatte dem med sine nyere versjoner. Den "t" og "x" alternativer liste og pakke ut innholdet i arkivet passert gjennom "f" alternativet: Tar har muligheter til å arkivere bare filene endret etter en gitt dato eller de som er oppført i en tekstfil. Den andre metoden er mye mer fleksibel enn den første, selv om du bare ønsker å arkivere nyere filer. Grunnen er at du kan generere fillisten for hånd eller automatisk, med en kombinasjon av filtrering kriterier som kan være kodet i et skript. The Bash script noteringsdag en kan utføre både full og inkrementell backup, for alle brukere av en GNU /Linux-boksen. Sikkerhetskopier blir lagret i $ TARGETDIR katalogen, inne i en undermappe oppkalt etter den aktuelle dagen. Hver bruker (eller administrator) lister i separate filer alle og bare de filene eller mappene som trenger backup. Konfigurasjonsfiler, postkasser og andre dokumenter er støttet opp separat, for hver av brukerne som er oppført i $ BRUKERE (cfr linjer 6 og 7). Når skriptet er lansert uten argumenter, er tjære brukes som i linje 24. De "cf" alternativer opprette et arkiv som heter $ TARGETDIR /$ DATE /$ USER $ LIST.tar; -W Utsteder en advarsel hvis noe gikk galt og -T gir navnet på filen listen for å bruke. Hvis du kjører skriptet med "incr" alternativet (cfr linje 13), i stedet skaper manuset andre fillister på stedet, gjennom find kommandoen i linje 17: "-mtime -1" betyr "finne alle filer som er opprettet eller endring ikke mer enn en uke siden ". å automatisere alt må du bruke cron verktøyet. Hvis du lagre skriptet noteringsdag en som /usr/local/bin/mybackupscript.sh, disse to cron kommandoer: vil skape full backup på 11:30 av hver søndag (dag 0 i femte kolonne) og inkrementelle de på samme time annenhver dag. Tar har mange flere funksjoner enn de som er anvendt i dette eksempel. Foruten den manuelle, til den beste kilden se hva GNU tjære kan gjøre er online galleri av tjære kommandoer på CommandLineFu.
, både for enkelhet og bærbarhet. Filrettigheter, symbolske lenker eller filnavn som er veldig lang eller inneholder uvanlig, kan ikke ASCII tegn ikke bli bevart på hver fil system, inkludert de på DVD eller FAT-formatert USB-nøkler. Enkeltarkivfiler med korte, enkle navn, i stedet, kan kopieres overalt og fortsatt bevare alle egenskapene til hver fil den inneholder.
Tar Basics
tjære tf somearchive.tar # liste innholdet i somearchive.tar tar xf somearchive.tar # trekke ut alle filer fra somearchive.tar tjære x my_resume.odt f somearchive.tar # ekstrakt my_resume.odt fra somearchive.tar
et praktisk eksempel: Kombinere Full og inkrementell backup
1 #! /bin /bash 2 # Basic full /inkrementell backup script 3 4 TARGETDIR = /MYDATA /backups 5 DATE = `date + '% Y% m% d'` 6 FILE_LISTS =' docs epost config '7 brukere =' marco Fabrizio ' 8 9 cd /10 mkdir $ TARGETDIR /$ DATE || exit 11 for brukeren i `echo $ Brukere` 12 gjør 13 hvis ["$ 1" == "incr"] 14 deretter 15 echo "inkrementell backup av $ user files" 16 INCR_LIST = "/tmp /$ DATE. $ USER.incr_file_list "17 find /home /$ USER -type f -mtime -1 | kutte -c2- > $ INCR_LIST 18 tjære jf $ TARGETDIR /$ DATE /incr_ $ BRUKER $ LIST.tar -W -T $ INCR_LIST 19 rm $ INCR_LIST 20 annet 21 for LIST i `echo $ FILE_LISTS` 22 gjør 23 ekko" Sikkerhets opp til $ TARGETDIR /$ DATE innholdet av $ USER /$ LIST "24 tjære jf $ TARGETDIR /$ DATE /$ USER $ LIST.tar -W -T /home/$USER/.$LIST.filelst 25 gjort 26 fi 27 done
30 23 * * 0 /usr/local/bin/mybackupscript.sh 30 23 * * 1,2,3,4,5,6 /usr/local/bin/mybackupscript.sh incr