Det kan vist ikke gentages for ofte: husk altid at have en god backup af de data som du ikke vil miste.
Alligevel er det noget som mange glemmer. Det gælder om at finde sig en løsning som kører rutinemæssigt og medtager de filer som man vil have backup af. Her følger to metoder til at gøre det:
Først et script som sættes til at køre automatisk
Dernæst programmet Backintime som tilbyder en grafisk konfigurering af backupprogrammet. Det ligger ikke i de officielle ubuntu-repositories, men kommer fra en pålidelig kilde og fungerer fint under Ubuntu.
Menustyret udgave af backupscriptet og andre systemopgaver
Hvis du er interesseret i at kunne køre backup, oprydning og opdatering fra et overskueligt interface, så kan du installere det script som jeg har lagt i denne tråd: https://ubuntudanmark.dk/forum/viewtopic.php?f=11&t=7282
Hvis du vil køre backup efter en fast tidsplan, så brug nedenstående.
Et enkelt script til daglig backup af vigtige filer
Inspireret af christian.arvais automatisering af oprydning og opdatering (https://ubuntudanmark.dk/forum/viewtopic.php?f=11&t=5879) er her en automatisering af backup af vigtige filer til en ekstern usb-disk.
Jeg har selv brugt det i en længere periode, og det fungerer upåklageligt og laver en hurtig backup (efter første kørsel, som godt kan tage lidt tid).
ÆNDRET 16.02.2009
Scriptet laver en backup af den aktuelle situation i de directories som det drejer sig om. Slettede/ændrede filer lægges i en mappe med -UGEDAGSNAVN hæftet ved. Tager man backup hver dag, så har man altså altid en aktuel backup samt de ændringer som er foretaget i en uge tilbage i tiden. Efter en uge overskrives filerne i ugedagsmappen med de nye ændrede/slettede filer.
ÆNDRET 19.05.2010
Man kan du indsætte navnet på backupdisken som en variabel i starten af scriptet, så det ikke skal ændres manuelt. Desuden er tilføjet output af eventuelle fejlmeldinger til filen 'backup_fejl' som lægges på Skrivebordet.
Kode: Vælg alt
#!/bin/sh
# Backup foretages til en ekstern USB-disk som det forudsættes at du har læse- og skrivetilladelse til og som er mounted på /media/disk. Hvis din externe harddisk hedder andet end 'disk' skal du indsætte navnet efter = i den linje nedenfor som hedder 'exthd=disk'. Scriptet bruger synkroniseringsprogrammet rsync. Parametrene betyder flg. v = verbose (du får at vide hvad der foregår) r = rekursiv ( der laves backup af mapper med undermapper og indhold) t = timestamp (gør at kun ændrede filer overføres igen - så efter første backup går det hurtigt) p = permissions (de opdateres efter overførsel) l = links (genskabes på mål-disken) z = filerne gzip-komprimeres under overførslen (især nyttig hvis man bruger netforbindelse). Man kan også tilføje e = ssh-overførsel, unødvendig når det er til usb-disk --delete fjerner filer på måldisken som er blevet fjernet på startlokationen. Hvis du ændrer på stiene er det vigtigt at du på startlokationen slutter med / (eks: /etc/) og at du ikke gør det på måldisken (eks: /etc). Kopier skriptet ind i en tekstfil, kald den daglig_backup.sh, læg den i din /home/brugernavn/ og gør den eksekverbar. Scriptet kan bringes til udførelse ved dobbeltklik eller ved at kalde det i en terminal med sudo ./daglig_backup.sh Scriptet er brygget det sammen ved hjælp af mine yndlingshåndbøger Linux Phrasebook og Ubuntu Toolbox.
Eventuelle fejlmeldinger angives i filen 'backup_fejl' som lægges på dit Skrivebord.
echo "Daglig backup af vigtige filer i Ubuntu"
echo "Skrevet af Flemming Christensen (laoshi) februar 2009 - maj 2010"
echo "Først tømmes papirkurven"
echo "Så foretages der backup til en ekstern disk af etc og usr/local/"
echo "Til slut backup af brugerens /home til mappen aktuel_backup på en ekstern disk. Ændrede eller slettede filer fra home lægges i en mappe med ugedagens navn"
# Indsæt navnet på din externe harddisk efter lighedstegnet inden du gemmer scriptet. Find navnet med kommandoen: ls /media/
exthd=disk
# Tømning af papirkurven
echo "Papirkurven tømmes"
rm -rf $HOME/.local/share/Trash/*
# Backup af /etc/ i den aktuelle udgave. Den aktuelle udgave gemmes i etc, ændrede/slettede filer gemmes i en etc-mappe med ugedagens navn
echo ""
echo "Backup af etc til ekstern disk"
echo ""
exec 2> $HOME/Skrivebord/backup_fejl
rsync -vrtplz --progress --stats --delete --backup --backup-dir=/media/$exthd/etc-`date +%A` /etc/ /media/$exthd/etc
# Backup af /usr/local i den aktuelle udgave. Den aktuelle udgave gemmes i usr_local, ændrede/slettede filer gemmes i en usr_local-mappe med ugedagens navn
echo ""
echo "Backup af usr til ekstern disk"
echo ""
exec 2>> $HOME/Skrivebord/backup_fejl
rsync -vrtplz --progress --stats --delete --backup --backup-dir=/media/$exthd/usr_local-`date +%A` /usr/local/ /media/$exthd/usr_local
# Backup af brugers /home/ den aktuelle udgave gemmes i en mappe med dit brugernavn, ændrede/slettede filer gemmes i mappen 'ændret-ugedagensnavn'
echo ""
echo "Backup af home til ekstern disk"
echo ""
exec 2>> $HOME/Skrivebord/backup_fejl
rsync -vrtplz --progress --stats --delete --backup --backup-dir=/media/$exthd/ændret-`date +%A` $HOME /media/$exthd/
Note:
[*] $HOME er en shellvariabel som indeholder stien til den aktuelle brugers /home partition.
[*] tegnene som omgiver date +%A er ` (accent grave - backtick)
[*] du skal ikke ukritisk kopiere /etc/ tilbage, og specielt ikke i en ny installation. Men har du f.eks. konfigureret apache, så kan du genbruge /etc/apache2. Dine crontab-filer ligger også i /etc/ og der kan være andre konfigurationer som du vil bevare. Men særlig fstab skal du ikke genbruge - det vil kun skabe store problemer.
[*] fra $HOME skal du også vurdere, hvilke skjulte filer du vil genbruge. Der sker for så vidt ikke noget galt i at bruge dem alle, for så får du din nuværende konfiguration med. Men har du problemer med den, så skal du måske nøjes med at genbruge dem, som du ved du har sat op efter ønske. Vær opmærksom på at dine mails ligger i mappen .evolution/ og din Firefox-opsætning i .mozilla/. Til at bevare din tema-opsætning kan du installere og bruge programmet Phrank's themesaver http://ubuntu.online02.com/pts.
BEMÆRK: Som det fremgår senere i denne tråd kan selv små skrivefejlfejl i scriptet få stor betydning (i dette tilfælde $Home i stedet for det korrekte $HOME). Så vær omhyggelig med at skrive linjerne i scriptet nøjagtig som angivet. Det bedste er at kopiere og indsætte og så selv indføje de ændringer som er nødvendige. I ovenstående script skal du kun ændre ordet disk hvor du skal indsætte navnet på din backupdisk. Det gør du i starten af scriptet, hvor der står 'exthd=disk'
Du finder navnet på backupdisken ved at køre flg. kommando når disken er tilsluttet:
Kode: Vælg alt
ls /media/
Højreklik på Skrivebordet, vælg [b]Opret dokument > Tom fil. Når du har skrevet (eller indkopieret) scriptet så gem det på Skrivebordet (kald det f.eks. daglig_backup.sh). Så skal det flyttes til /usr/local/bin, ejerskabet ændres til root og det skal gøres udførbart:
Kode: Vælg alt
sudo mv ~/Skrivebord/daglig_backup.sh /usr/local/bin/daglig_backup.sh && sudo chown root /usr/local/bin/daglig_backup.sh && sudo chmod +x /usr/local/bin/daglig_backup.sh
Du kan så kalde scriptet ved at åbne terminalen og skrive:
Kode: Vælg alt
sudo daglig_backup.sh
Du kan også få scriptet til at køre på forud bestemte tidspunkter ved at følge den fremgangsmåde som forklares i min guide om Tilbagevendende udførelse af oprydning, opdatering og backup https://ubuntudanmark.dk/forum/viewtopic.php?f=11&t=6043
Jeg har selv lavet et udvidet script, som starter med at køre christian.arvais oprydnings- og opdateringsscript og derefter ovenstående. Hermed er sikret at systemet er opdateret og at man ikke unødigt laver backup af papirkurven inden der foretages backup.
For at gøre noget tilsvarende, så lav en *.sh fil med christian.arvais script øverst og under dette skal så mit script indsættes dog uden linjen #!/bin/sh
Om ønsket kan man gøre opgaven fuldautomatisk ved hjælp af cron, som så kører scriptet på et forudbestemt tidspunkt (se i guiden som jeg linker til ovenfor)
Backintime - et grafisk backup-program
Foretrækker du en grafisk backup-løsning hvor man kan pege og klikke for at træffe sine valg, så er programmet backintime en god mulighed. Det er i al korthed en grafisk overbygning på backupprogrammet rsync som også er det jeg har brugt i mit script.
1. Hent og installer programmet
a. Åbn System > Softwarekilder og tilføj flg. linje til tredjepartskilder:
deb http://backintime.le-web.org/repository stable main
b. Så skal du lige bruge terminalen lidt for at hente og tilføje nøglen:
Kode: Vælg alt
wget http://backintime.le-web.org/repository/le-web.key
og
Kode: Vælg alt
sudo apt-key add le-web.key
c. Endelig installerer du programmet
Kode: Vælg alt
sudo apt-get install backintime-common backintime-gnome
2. Tag programmet i brug
d. Du kan nu åbne det fra Programmer > Systemværktøjer
Det findes i to udgaver:
1) Back In Time
2) Back In Time (root)
Vil du kun lave backup af (filer i) /home så kan du vælge den første. Hvis du vil lave backup også af systemfiler, så skal du vælge den anden. Du kan nemlig kun lave backup af mapper og filer som du har skrivetilladelse til.
Backup'en laver et snapshot af alle filer i de valgte mapper, bortset fra dem som du har bedt om skal springes over.
Der bliver kun lavet et nyt snapshot hvis noget er blevet ændret siden sidst.
Til automatisk backup bruges programmet cron, så det skal køre (men det gør det hvis ikke du selv har standset det).
Det eneste du skal gøre for at få programmet til at køre er at konfigurere:
[*] hvor du vil gemme din backup.
[*] hvilke mapper du vil lave backup af. Du kan også fravælge bestemte filer, filtyper eller mapper. Indholdet i papirkurven er forud fravalgt.
[*] hvornår der skal laves backup (manuelt, hvert 5. minut, hvert 10. minut, hver time, hver dag, hver uge, hver måned).
[*] På fanebladet auto-remove kan du vælge hvor længe snapshots skal gemmes før de automatisk bliver slettet. Kan være pladsbesparende.
Når programmet er indstillet til automatisk backup behøver du ikke at tænke mere på det, bortset fra at din eksterne harddisk skal være tilsluttet når der skal laves backup - programmet vågner og kører med de valgte intervaller.
Gendannelse af filer er tilsvarende enkel: vælg et snapshot fra menuen til venstre, vælg de mapper du vil have gendannet og tryk på 'Restore'
Hvis du gendanner en fil og den allerede findes, så omdøbes den gendannede fil til filnavn.backup.datomærke