Hilfe bei einem Backupscript

Post Reply
Message
Author
User avatar
Hans Solo
prolinux-forum-admin
Posts: 601
Joined: 20. Apr 2004 12:19
Location: AT
Contact:

Hilfe bei einem Backupscript

#1 Post by Hans Solo »

Hi an alle!

Ich habe mir Backupscript für meine MySql Datenbanken geschrieben.
Leider hat es ein paar Fehler.


1. Wenn ich es mit der Hand starte schreibt es mir die Sicherung Tage in Deutsch
zb.: mysqlsicherung.2005-03-11-Freitag.sql.tgz. Wenn ich aber über Cron starte schreibt
es die Wochentage in Englisch. Woran kann das liegen?

2. Wie könnte ich es realisieren das das Backup von vor 7 Tagen gelöscht wird?

Ansonsten bin ich auch über jeden anderen verbesserungs Vorschlag dankbar.

Dank
mfg
arno


Hier das Script:

###############################################################
#!/bin/sh

LANG=de_DE

DATUM=`date -I`
WOCHENTAG=`date +%A`
ZEIT=`date +%c`

#DIRECTORY_BACKUP=/backup
DIRECTORY_BACKUP_MYSQL=/backup/mysql
DIRECTORY_LOG=/var/log/backup
LOG_FILE=backup.log

if [ ! -d $DIRECTORY_BACKUP_MYSQL ]
then
mkdir -p $DIRECTORY_BACKUP_MYSQL
fi

if [ ! -d $DIRECTORY_LOG ]
then
mkdir -p $DIRECTORY_LOG
fi


echo "################ MYSQL Sicherung am `date +%A`-`date +%c`###############" >> $DIRECTORY_LOG/$LOG_FILE >&1

echo "verz wechseln nach $DIRECTORY_BACKUP_MYSQL" >> $DIRECTORY_LOG/$LOG_FILE >&1
cd $DIRECTORY_BACKUP_MYSQL



echo "mysql sichern nach $DIRECTORY_BACKUP_MYSQL" >> $DIRECTORY_LOG/$LOG_FILE >&1
mysqldump --all-database > $DIRECTORY_BACKUP_MYSQL/mysqlsicherung.$DATUM-$WOCHENTAG.sql |tar -cvzf $DIRECTORY_BACKUP_MYSQL/mysqlsicherung.$DATUM-$WOCHENTAG.sql.tgz mysqlsicherung.$DATUM-$WOCHENTAG.sql >> $DIRECTORY_LOG/$LOG_FILE >&1 &&

echo "temporäre sql sicherung in $DIRECTORY_BACKUP_MYSQL löschen" >> $DIRECTORY_LOG/$LOG_FILE >&1
rm -rf $DIRECTORY_BACKUP_MYSQL/mysqlsicherung.$DATUM-$WOCHENTAG.sql &&

echo "fertig um `date +%c`" >> $DIRECTORY_LOG/$LOG_FILE >&1
[root@host]# cd /pub
[root@host]# more beer

User avatar
Soulfly
Posts: 137
Joined: 16. Apr 2003 5:05
Location: Buchholz idN

#2 Post by Soulfly »

Probiere doch einfach mal die "LANG" Variable systemweit zu exportieren...

Einfach ein

Code: Select all

LANG="de_DE"
export LANG
in /etc/profile schreiben, und gucken obs geht... Sollte dann eigentlich...

User avatar
Hans Solo
prolinux-forum-admin
Posts: 601
Joined: 20. Apr 2004 12:19
Location: AT
Contact:

#3 Post by Hans Solo »

@Soulfly
danke aber das hat auch nicht geholfen.
Komisch?


Ich bekomme von Cron diese Fehlermeldung zurück:

tar: mysqlsicherung.2005-03-14-Monday.sql: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors

Ich vermute daran das das Script nach einem Deutschen Wochentag sucht aber nicht findet da Cron es mit einem Englischen angelegt hat.

mfg
arno
[root@host]# cd /pub
[root@host]# more beer

User avatar
Soulfly
Posts: 137
Joined: 16. Apr 2003 5:05
Location: Buchholz idN

#4 Post by Soulfly »

sonst setz das export doch einfach mal direkt in das script...
hab im Moment auch keine anderen ideen...

Hab gerade mal nen testscript per cron laufen lassen. Funktioniert alles wunderbar, kein Plan wo dein Problem liegt. Eigentlich müsste es mit dem export erledigt sein...

-----
Nachdem du jetzt deine /etc/profile geändert hast, probiere doch mal folgendes...

Code: Select all

source /etc/profile (damit er die änderung auch nutzt)
Und dann den Cron Deamon neustarten....

User avatar
Hans Solo
prolinux-forum-admin
Posts: 601
Joined: 20. Apr 2004 12:19
Location: AT
Contact:

#5 Post by Hans Solo »

@Soulfly

danke
werd ich morgen austesten.
habe das LANG_DE überhaupt rausgenommen und bei der temp sicherung das Datum
und jetzt geht es auch mit cron.

Die Wochentag müssen nicht unbedingt in Deutsch sein.

Hättest du vielleicht einen Tip wie ich das mit dem löschen der Backups nach 7 Tagen machen kann?

mfg
arno
[root@host]# cd /pub
[root@host]# more beer

User avatar
Soulfly
Posts: 137
Joined: 16. Apr 2003 5:05
Location: Buchholz idN

#6 Post by Soulfly »

Naja, ganz dreckig ala "find $PATH -type f -atime +7 -exec rm {} \;"
Würd in dem Verzeichnis alles löschen was seit sieben tagen nicht mehr geöffnet würde.... .

Post Reply