Ondersteuning > Programmeren

Datum in script

(1/1)

wr19026:
Kan iemand me met het volgende helpen: ik heb een script gevonden wat me op eenvoudige wijze backups laat maken.

Wat het doet is op de eerste van de maand een full backup draaien en deze wordt bewaard totdat ik 'm weggooi. Iedere zondag wordt ook een full backup gemaakt. Maar deze wordt de volgende zondag door een nieuwe full backup overschreven. Dagelijks wordt een incrementele backup gemaakt tov van de voorafgaande zondag.

Ik heb Ubuntu (Breezy) in het Nederlands ge

Dennis Kaarsemaker:
probeer eens bovenaan het script:
export LOCALE=C
export LC_ALL=C

wr19026:
Dat lijkt het te doen maar als ik

# Weekly full backup
if [ $DOW = "zo" ]; then

verander in

# Weekly full backup
if [ $DOW = "Sun" ]; then

Zie ik weer hetzelfde gebeuren. Ik moet waarschijnlijk gewoon een weekje wachten om te zien wat er allemaal na aanstaande zondag gaat gebeuren met het script.

Toevoeging:
Is er anders een manier waarop ik, zonder te hoeven rebooten,  datum en tijd kan manipuleren? Graag wel de c-line commandos aangezien ik geen desktop op m'n server draai.

Dan kan ik n.l. simuleren dat het de eerste van de maand is, een zondag etc.

wr19026:
Opgelost! Even goed nadenken en nog een keer lezen en 't is gelukt.

Wat de "fout" was die er voor zorgde dat er nog steeds full backups gedraaid werden is dat de file server-last-full als aanduiding "12-mrt" had. Dat heb ik aangepast naar "12-Mar", script laten lopen en het werkt perfect.

Hartelijk dank aan Dennis en kennywest die me in meerdere topics geholpen hebben :)

Voor diegenen die er ook gebruik van willen maken, hier is het (werkende) script:

#!/bin/sh
# full and incremental backup script
# created 07 February 2000
# Based on a script by Daniel O'Callaghan
# and modified by Gerhard Mourani

# Adjust date format for your locale

export LOCALE=C
export LC_ALL=C

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

COMPUTER=[servernaam]               # name of this computer
DIRECTORIES="[te backuppen directories]"   # directories to backup
BACKUPDIR=[backup directory]         # where to store the backups
TIMEDIR=[backup directory]/last-full      # where to store time of full backup
TAR=/bin/tar                  # name and location 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 permanent full backup is made
# Every Sunday a full backup is made - overwriting last Sunday's backup
# The rest of the time an incremental backup is made. Each incremental
# backup overwrites last week's 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.


# Monthly full backup
if [ $DOM = "01" ]; then
        NEWER=""
        $TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DM.tar $DIRECTORIES
        echo "Maandelijkse volledige backup $DM" >> /var/log/script.log
fi

# Weekly full backup
if [ $DOW = "Sun" ]; then
        NEWER=""
        NOW=`date +%d-%b`

        # Update full backup date
        echo $NOW > $TIMEDIR/$COMPUTER-full-date
        $TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
        echo "Wekelijkse volledige backup $DM" >> /var/log/script.log

# Make incremental backup - overwrite last weeks
else

        # Get date of last full backup
        NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`"
        $TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
        echo "Dagelijkse incrementele backup $DM" >> /var/log/script.log
fi

Navigatie

[0] Berichtenindex

Naar de volledige versie