backup, script eller program?

Här diskuteras programmering och utveckling
look2
Inlägg: 523
Blev medlem: 09 jan 2007, 23:12
Ort: Arboga

backup, script eller program?

Inlägg av look2 »

Hej !

Jag tänkte sätta upp en linux filserver.
Det jag då vill är att det automatiskt skall tas backupp på vissa mappar och filer en gång i veckan och läggas på en annan disk.
Hur löser man detta på ett bra sätt?

Hur skriver man ett skript? vart skall det ligga osv osv?
Tanken är ju att detta skall gå med automatik, alltså att jag inte behöver starta nånting.

En variant som skulle vara riktigt bra, om det inte är för svårt att spara backuppen i en månad. Alltså att det kommer att finnas 4 backupper. När sedan den 5:e läggs in så skall den älsta tas bort...

Tänkte inte köra nått gui på denna server så jag antar att det är nånform av script som gäller då ?
http://stoppa-storebror.se/
http://stoppafralagen.nu/

server med Fiesty Fawn server edition
HP NC40xx Fiesty Fawn 8.10
HP Pavillion 9095ea Windows XP
Användarvisningsbild
danno
Inlägg: 445
Blev medlem: 08 okt 2006, 10:13
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Norrköping

backup, script eller program?

Inlägg av danno »

Jag har ett script, som tillsammans med cron fixar backupp var kväll, genom att packa en katalog till tgz-arkiv.
Backuppen läggs på samma maskin, och en kopia med scp över internet till en annan server.

Jag skulle kunna dela med mig av koden till detta, men jag har inte listat ut hur man tar bort den äldsta...
look2
Inlägg: 523
Blev medlem: 09 jan 2007, 23:12
Ort: Arboga

backup, script eller program?

Inlägg av look2 »

ok, har hittat ett script som jag "tror" kanske skulle passa mina behov.

Kod: Markera allt

#!/bin/sh
# full and incremental backup script
# created 07 February 2000
# Based on a script by Daniel O'Callaghan <danny@freebsd.org>
# and modified by Gerhard Mourani <gmourani@videotron.ca>

#Change the 5 variables below to fit your computer/backup

COMPUTER=servername                                # name of this computer
DIRECTORIES=/path/to/files                          # directoris to backup
BACKUPDIR=/path/to/archive                          # where to store the backups
TIMEDIR=/path/to/atchive/last-full                  # where to store time of full backup
TAR=/bin/tar                                            # name and locaction of tar

#You should not have to change anything below here

PATH=/usr/local/bin:/usr/bin:/bin
DOW=`date +%a`                          # Day of the week e.g. Mon
DOM=`date +%d`                          # Date of the Month e.g. 27
DM=`date +%d%b`                 # Date and Month e.g. 27Sep

# On the 1st of the month a permanet full backup is made
# Every Sunday a full backup is made - overwriting last Sundays backup
# The rest of the time an incremental backup is made. Each incremental
# backup overwrites last weeks incremental backup of the same name.
#
# if NEWER = "", then tar backs up all files in the directories
# otherwise it backs up files newer than the NEWER date. NEWER
# gets it date from the file written every Sunday.
TEMPFILE=`/bin/mktemp`
cd /
echo Starting backup @ `date` > $TEMPFILE
# Monthly full backup
if [ $DOM = "01" ]; then
        NEWER=""
        echo "First Day of month, preforming archive backup: $COMPUTER-$DM.tar" >> $TEMPFILE
       $TAR $NEWER --totals -cf $BACKUPDIR/$COMPUTER-$DM.tar $DIRECTORIES >> $TEMPFILE 2>&1
fi

# Weekly full backup
if [ $DOW = "Sun" ]; then
        NEWER=""
        NOW=`date +%d-%b`
        echo "It's $DOW, let's do a full backup : $COMPUTER-$DOW.tar" >> $TEMPFILE
        # Update full backup date
        echo $NOW > $TIMEDIR/$COMPUTER-full-date
        $TAR $NEWER --totals -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES >> $TEMPFILE 2>&1

# Make incremental backup - overwrite last weeks
else
        echo "Incremental backup to : $COMPUTER-$DOW.tar" >> $TEMPFILE
        # Get date of last full backup
        NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`"
        $TAR $NEWER --totals -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES > /tmp/$COMPUTER.backup 2>&1
        /bin/grep --invert-match "file is unchanged; not dumped" /tmp/$COMPUTER.backup >> $TEMPFILE 2>&1
fi
echo Ending backup @ `date` >> $TEMPFILE
/usr/bin/mail -s "BackupRapport" din.namn@domän.se < $TEMPFILE
Modifierar det lite så att det bara är veckobackuppen kvar.
Detta skulle räcka ganska bra för mig, då syftet med denna backup egentligen bara är om nått skulle skita sig. Inte att långtidslagra dem...
Tror du/ni att det skulle funka?
http://stoppa-storebror.se/
http://stoppafralagen.nu/

server med Fiesty Fawn server edition
HP NC40xx Fiesty Fawn 8.10
HP Pavillion 9095ea Windows XP
Användarvisningsbild
danno
Inlägg: 445
Blev medlem: 08 okt 2006, 10:13
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Norrköping

backup, script eller program?

Inlägg av danno »

Det fungerar säkert...
Ska du köra det automatiskt med cron, bör du nog ta bort allt som kräver din uppmärksamhet. (typ echo)

Jag skulle nog vara lat och låta cron köra backupp till fyra olika mappar.
När script1 körs vecka1 nästa månad, ersätts den föregående 1:an.

Det skulle förståss bli fyra rader i crontab, och fyra script...
Användarvisningsbild
johanre
Serveradmin
Inlägg: 3888
Blev medlem: 22 okt 2006, 09:13
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Malmö

backup, script eller program?

Inlägg av johanre »

Visst, det fungerar garanterat. En av mina personliga favoriter är annars bontmia : http://folk.uio.no/johnen/bontmia/
Användarvisningsbild
Barre
Inlägg: 2298
Blev medlem: 13 dec 2006, 10:23
OS: Ubuntu
Ort: Stockholm
Kontakt:

backup, script eller program?

Inlägg av Barre »

[quote="danno"]Det fungerar säkert...
Ska du köra det automatiskt med cron, bör du nog ta bort allt som kräver din uppmärksamhet. (typ echo)[/quote]
Detta postade jag på bbs.linux.se, så jag antar att diskutionen fortsätter här :)
Hur som helst. Alla status output går till en temp fil, som sen gås igenom så att en sammanställning av backuppen skickas via mail efter scriptet.
Det går ju att ta bort den mail-rapporten om man vill.
Så, det är bara sammanställning och eventuella felmeddelanden som mailas..
________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU
look2
Inlägg: 523
Blev medlem: 09 jan 2007, 23:12
Ort: Arboga

backup, script eller program?

Inlägg av look2 »

Ber om ursäkt om du tycker att jag flyttat disskusionen Barre. Men jag tänkte att ju fler ställen man fråga på, destå fler svar får man.

Att det rapporteras via mail är bara bra, då denna server kommer att stå och snurra med så lite "pill" som möjligt och om man då får rapporter om nått går fel är ju ultimat.

Att ha 4 olika script verkar lite klurigt, hur vet cron vilket av dem han skall köra?
Funderade på om man skulle döpa om tar filen så att den kommer att ha datumet den skapades som namn istället, då kommer det ju inte att bli överskrivet då en ny backupp tas iallafall. Men jag kan inte klura ut nått bra sätt att ta bort de gamla filerna...

Kan man göra nånting i stil med om scriptet känner att det ligger 5 filer i den mappen så tar han bort den äldsta. Eller om det på nått sätt kan känna av att det var mer än en månad sedan denna filen ändrades och då ta bort den...
http://stoppa-storebror.se/
http://stoppafralagen.nu/

server med Fiesty Fawn server edition
HP NC40xx Fiesty Fawn 8.10
HP Pavillion 9095ea Windows XP
iveqy
Inlägg: 16
Blev medlem: 10 jan 2006, 22:11

backup, script eller program?

Inlägg av iveqy »

jag skulle rekommendera att skriva ett script med rdiff-backup och schemalägga i cron.
Skriv svar

Återgå till "Programmering och webbdesign"