Jeg sitter som kjent å skriver prosjektet mitt i LaTeX på en Linux maskin. Som jeg nevnte i posten om Studenter og ny pc ser jeg ikke poenget med å bruke penger på en eksterndisk til backup når vi har tilgang til en sambashare via NTNU.
Imidlertid har jeg ikke tatt noe særlig backup, da jeg ikke gidder/orker å kopiere over (kun den som har mistet noe viktig tenker på backup sies det). Imidlertid tenkte jeg at det måtte være mulig å automatisere dette. Jeg tenkte noe slik som “cron-job og noe shell-scripting kombinert med at jeg har hjemmeområdet permanent mappet opp når jeg er på NTNU-nettet.
Dermed hørte jeg litt med Alex, og kombinert med litt googling og hacking lagde jeg meg et script som en gang i timen (gitt at jeg har tilgang til hjemmeområdet) lager en tar.gz fil av prosjektmappa mi og lagrer den med et timestamp på hjemmeområdet. Den tar vare på de 10 forrige versjonene, dvs 10 timer tilbake i tid. Det skriver også til en logg-fil hva som blir gjort når.
I OpenSource-ånden deler jeg ut scriptet mitt her, og tar gjerne imot forslag til forbedringer og kritikk på ting som er gjort hakkandes galt. I prinsippet skal det funke for å regelmessig kopiere en mappe over på en annen (montert) mappe.
Så kan man jo spørre seg hvorfor jeg ikke jobber direkte mot hjemmeområdet.. Da hadde jeg aldri lært meg shell-scripting, og det kan jo tenkes at jeg av og til jobber uten tilgang til det.
FIla ligger tilgjengelig her: backup.sh
For å bruke den må du huske å chmodde den slik at den kan kjøres:
chmod +x backup.sh
Du vil sikkert også gå inn i den og endre mapper etc. Den er greit kommentert, så det skal ikke være noe problem.
Til slutt vil du legge den inn i crontab, bruk da:
crontab -e
og legg inn noe slikt som:
0 * * * * /path/to/backup.sh >> /path/to/logfile
for å ta backup en gang i timen.
Elegant? Tja. Praktisk? Ja. Morro? for de interesserte 🙂