Hilfe bei Backupscript

Backup, Restore und Transfer von Daten
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Hilfe bei Backupscript

Post by xnetworker »

Hallo

ich nutze nachfolgendes Backupscript.
Leider funktioniert es nicht ganz, beim löschen des alten dumps gibt es folgende Meldung: "rm: cannot remove `/backup/dump_1.tgz': No such file or directory" obwohl das file existiert. Weiterhin kopiert er kein Backup auf den Backupspace. Ein erstelltes dumpfile hat folgendes Format dump_1.tgz.aa und dump_1.tgz.ab.
Wo liegt der Fehler?


Code: Select all

#!/bin/bash
#########################################################################
#                                                                       #
# Backup von Confixx erstellen                                          #
# vtag=$(date)
# rm /backup/dump_$vtag.tgz.aa
# rm /backup/dump_$vtag.tgz.ab                                          #
#########################################################################
# Emailadresse für den Absender und Empfänger angeben
email_absender="backup@localserver.de"
email_empfang="xxx@yyyy.de"

rm /backup/datum.txt

vtag=$(date +%u)
rm /backup/dump_$vtag.tgz

/root/confixx/backup.pl --dump /backup/dump_$vtag.tgz 2>/dev/null
  if [ "$?" != 0 ]
  then
    backup_msg="Fehler bei der Sicherung"
  else
    backup_msg="Sicherung erfolgreich"
  fi
if [ "$vtag" == "1" ]
then

# Sichern des Backups auf einem FTP-Server im Ordner /
# dei Zugangsdaten für den FTP-Account liegen in der Datei ftp.cfg:
# host 192.168.1.1
# user test
# password test123456
  /usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz 2>/dev/null
  if [ "$?" != 0 ]
  then
    ftp_msg="Fehler beim FTP-Transfer"
  else
    ftp_msg="FTP-Transfer erfolgreich"
  fi
fi
#########################################################################
#                                                                       #
# Mail mit Statusmeldung versenden                                      #
#                                                                       #
#########################################################################
text="Backup beendet am `date +"%d.%m.%Y,%H:%M"`"
echo $text > /backup/datum.txt
echo $backup_msg >> /backup/datum.txt
echo $ftp_msg >> /backup/datum.txt
# Versendet eine Mail mit dem Absender backup@localserver.de nach youremail@yourdomain.tld
mail -s"Backup-Info" -r $email_absender $email_empfang < /backup/datum.txt
#########################################################################
#                                                                       #
# folgenden Eintrag in die Datei crontab einfuegen:                     #
#                                                                       #
# crontab -e (einfuegen mit i: speichern mit :wq)                       #
# 00 3  * * * /backup/backup.sh                                         #
# das Backup wird jede Nacht um 3 Uhr gestartet                         #
#########################################################################
Anonymous

Re: Hilfe bei Backupscript

Post by Anonymous »

Die BackUp Dateien sollen ja folgendes Format haben:
Ein erstelltes dumpfile hat folgendes Format dump_1.tgz.aa und dump_1.tgz.ab.
warum löscht Du dann?

Code: Select all

rm /backup/dump_$vtag.tgz
In Deinem Script-Header ist doch vorgegeben was Du löschen sollst ;)
Das gleiche gilt für die Kopie auf den FTP.
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Verstehe nicht ganz. Stehe glaub ich auf der Leitung.....
Wie muss es dann lauten?
Anonymous

Re: Hilfe bei Backupscript

Post by Anonymous »

Du musst doch die Datei löschen die da ist.
Wenn die Dateien "/backup/dump_$vtag.tgz.aa" und "/backup/dump_$vtag.tgz.ab" heißen, musst Du dise auch löschen und bewegen:

Code: Select all

rm /backup/dump_$vtag.tgz.aa
rm /backup/dump_$vtag.tgz.ab 
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Ja stimmt danke.

Auf dem Backupspace kommt leider auch nix an, und in der Statusmail steht auch nix vom ftp-transfer.
Fehler im Logfile kann ich auch nicht finden. Wie kann ich herausfinden warum der ftp-transfer nicht klappt?
aubergine
Posts: 471
Joined: 2005-09-10 17:52
Location: Frankfurt am Main

Re: Hilfe bei Backupscript

Post by aubergine »

/usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz

Lass die Zeile so durchlaufen und schaue was passiert.
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Alles bestens hat jetzt geklappt
juergen
Posts: 133
Joined: 2004-03-30 14:44
Contact:

Re: Hilfe bei Backupscript

Post by juergen »

Um eine vernünftige Fehlersuche/Überwachung zu ermöglichen, solltest du Umleitungen wie "&2>/dev/null" vermeiden

Weiterhin kannst Du dir den eMail-Versand in deinem Skript sparen, das macht auch der Cron-Daemon.

Best practice für solche Skripte:
Ausgaben nur im Fehlerfall (oder verbose mode) durchführen und immer nach stderr
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Habe nun folgendes Problem:

Mittlerweile sind es 3 Teile der Backupdatei. Leider kopiert er nur die ersten beiden Files auf den Backupserver. Ich kann leider das Problem nicht finden warum die 3. Datei nicht mit kopiert wird.
Vom Cron Daemon bekomme ich die Info

Code: Select all

/backup/dump_6.tgz.aa:                                   1.99 GB    4.98 MB/s  
/backup/dump_6.tgz.ab:                                   1.99 GB    6.63 MB/s  
/backup/dump_6.tgz.ac:                                 960.31 MB    6.64 MB/s 
Wo kann ich mit meiner Suche nach dem Fehler ansetzen.

Hier nochmal der Auszug aus dem Code:

Code: Select all

#!/bin/bash
#########################################################################
#                                                                       #
# Backup von Confixx erstellen                                          #
# vtag=$(date)
# rm /backup/dump_$vtag.tgz.aa
# rm /backup/dump_$vtag.tgz.ab                                          #
#########################################################################
# Emailadresse für den Absender und Empfänger angeben
email_absender="backup@localserver.de"
email_empfang="ccccccc@xyz.de"

rm /backup/datum.txt

vtag=$(date +%u)
rm /backup/dump_$vtag.tgz.aa
rm /backup/dump_$vtag.tgz.ab
rm /backup/dump_$vtag.tgz.ac

/root/confixx/backup.pl --dump /backup/dump_$vtag.tgz 2>/dev/null
  if [ "$?" != 0 ]
  then
    backup_msg="Fehler bei der Sicherung"
  else
    backup_msg="Sicherung erfolgreich"
  fi
if [ "$vtag" == "6" ]
then

# Sichern des Backups auf einem FTP-Server im Ordner /
# dei Zugangsdaten für den FTP-Account liegen in der Datei ftp.cfg:
# host 192.168.1.1
# user test
# password test123456
  /usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz.aa 2>/dev/null
  /usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz.ab 2>/dev/null
  /usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz.ac 2>/dev/null
  if [ "$?" != 0 ]
  then
    ftp_msg="Fehler beim FTP-Transfer"
  else
    ftp_msg="FTP-Transfer erfolgreich"
  fi
fi
#########################################################################
#                                                                       #
# Mail mit Statusmeldung versenden                                      #
#                                                                       #
#########################################################################
text="Backup beendet am `date +"%d.%m.%Y,%H:%M"`"
echo $text > /backup/datum.txt
echo $backup_msg >> /backup/datum.txt
echo $ftp_msg >> /backup/datum.txt
# Versendet eine Mail mit dem Absender backup@localserver.de nach youremail@yourdomain.tld
mail -s"Backup-Info" -r $email_absender $email_empfang < /backup/datum.txt
#########################################################################
#                                                                       #
# folgenden Eintrag in die Datei crontab einfuegen:                     #
#                                                                       #
# crontab -e (einfuegen mit i: speichern mit :wq)                       #
# 00 3  * * * /backup/backup.sh                                         #
# das Backup wird jede Nacht um 3 Uhr gestartet                         #
#########################################################################
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
Contact:

Re: Hilfe bei Backupscript

Post by daemotron »

Schwer zu sagen, was da schiefläuft. Vielleicht ist einfach der Backup-Space auf dem FTP-Server voll? Wenn Du's rauskriegen willst, solltest Du die Fehlerausgabe der ncftpput-Aufrufe vielleicht mal nicht nach /dev/null werfen, sondern in eine Datei und dann mal lesen, was drinsteht. Außerdem kannst Du mal noch -z als Argument mitgeben, das veranlasst, dass ncftpput bei einem Übertragungsfehler wieder aufnimmt.
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Wie müßte der Aufruf dann lauten um die Fehler anzuzeigen?
Der Backupspace ist nicht voll, habe es geprüft.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11193
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:

Re: Hilfe bei Backupscript

Post by Joe User »

Code: Select all

/usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz.aa 2>/var/log/ncftpput_backup.log
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Und für die Wiederaufnahme bei Übertragungsfehlern muss es dann so lauten?

Code: Select all

/usr/bin/ncftpput -f -z /backup/ftp.cfg / /backup/dump_$vtag.tgz.aa 2>/var/log/ncftpput_backup.log
trusty
Posts: 19
Joined: 2003-12-16 07:02

Re: Hilfe bei Backupscript

Post by trusty »

xnetworker wrote:Hallo

ich nutze nachfolgendes Backupscript.
Leider funktioniert es nicht ganz, beim löschen des alten dumps gibt es folgende Meldung: "rm: cannot remove `/backup/dump_1.tgz': No such file or directory" obwohl das file existiert. Weiterhin kopiert er kein Backup auf den Backupspace. Ein erstelltes dumpfile hat folgendes Format dump_1.tgz.aa und dump_1.tgz.ab.
Wo liegt der Fehler?


Code: Select all

#!/bin/bash
#########################################################################
#                                                                       #
# Backup von Confixx erstellen                                          #
# vtag=$(date)
# rm /backup/dump_$vtag.tgz.aa
# rm /backup/dump_$vtag.tgz.ab                                          #
#########################################################################
# Emailadresse für den Absender und Empfänger angeben
email_absender="backup@localserver.de"
email_empfang="xxx@yyyy.de"

rm /backup/datum.txt

vtag=$(date +%u)
rm /backup/dump_$vtag.tgz

/root/confixx/backup.pl --dump /backup/dump_$vtag.tgz 2>/dev/null
  if [ "$?" != 0 ]
  then
    backup_msg="Fehler bei der Sicherung"
  else
    backup_msg="Sicherung erfolgreich"
  fi
if [ "$vtag" == "1" ]
then

# Sichern des Backups auf einem FTP-Server im Ordner /
# dei Zugangsdaten für den FTP-Account liegen in der Datei ftp.cfg:
# host 192.168.1.1
# user test
# password test123456
  /usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz 2>/dev/null
  if [ "$?" != 0 ]
  then
    ftp_msg="Fehler beim FTP-Transfer"
  else
    ftp_msg="FTP-Transfer erfolgreich"
  fi
fi
#########################################################################
#                                                                       #
# Mail mit Statusmeldung versenden                                      #
#                                                                       #
#########################################################################
text="Backup beendet am `date +"%d.%m.%Y,%H:%M"`"
echo $text > /backup/datum.txt
echo $backup_msg >> /backup/datum.txt
echo $ftp_msg >> /backup/datum.txt
# Versendet eine Mail mit dem Absender backup@localserver.de nach youremail@yourdomain.tld
mail -s"Backup-Info" -r $email_absender $email_empfang < /backup/datum.txt
#########################################################################
#                                                                       #
# folgenden Eintrag in die Datei crontab einfuegen:                     #
#                                                                       #
# crontab -e (einfuegen mit i: speichern mit :wq)                       #
# 00 3  * * * /backup/backup.sh                                         #
# das Backup wird jede Nacht um 3 Uhr gestartet                         #
#########################################################################
Bei mir ist nur das reine ftp (vsftpd) drauf. Könnte man das Script umschreiben ?
trusty
Posts: 19
Joined: 2003-12-16 07:02

Geht nicht

Post by trusty »

matzewe01 wrote:Theoretisch ja,
ersetze diese Zeile

Code: Select all

/usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz 2>/dev/null

durch:

Code: Select all

/usr/bin/ftp -u ftp://$FUSER:$FPASS@$FSERVER/ /backup/dump_$vtag.tgz*
Und am Anfang des Scriptes setzt Du Benutzername, Passwort und FTP Server.

Code: Select all

FUSER=xxxxx
FPASS=yyyy
FSERVER=123.123.123.123
Erstellt zwar ne datum.txt mit OK Meldung, aber scheint sie auch nicht rüberzukopieren. Sie ist auch nicht mehr lokal vorhanden.
Wenn ich deinen Befehl so eintippe meldet er
ftp: u unknown option
trusty
Posts: 19
Joined: 2003-12-16 07:02

also...

Post by trusty »

matzewe01 wrote:ftp -h oder man ftp

Aber würde mich mal interesieren, warum Dein ftp keine Option -u kann.


Gruss Matthias
Wenn ich das eingebe
/usr/bin/ftp -h ftp://bakxxxx:xxxxxx@bakupxx.pureserver.de

dann kommt das

Usage: { ftp | pftp } [-pinegvtd] [hostname]
-p: enable passive mode (default for pftp)
-i: turn off prompting during mget
-n: inhibit auto-login
-e: disable readline support, if present
-g: disable filename globbing
-v: verbose mode
-t: enable packet tracing [nonfunctional]
-d: enable debugging

und bei man ftp
NAME
ftp - Internet file transfer program

SYNOPSIS
ftp [-pinegvd] [host]
pftp [-inegvd] [host]

DESCRIPTION
Ftp is the user interface to the Internet standard File Transfer Proto­
col. The program allows a user to transfer files to and from a remote
network site.

Options may be specified at the command line, or to the command inter­
preter.

-p Use passive mode for data transfers. Allows use of ftp in environ­
ments where a firewall prevents connections from the outside world
back to the client machine. Requires that the ftp server support
the PASV command. This is the default if invoked as pftp.
-i Turns off interactive prompting during multiple file transfers.

-n Restrains ftp from attempting ``auto-login'' upon initial connec­
tion. If auto-login is enabled, ftp will check the .netrc (see
netrc(5)) file in the user's home directory for an entry describing
an account on the remote machine. If no entry exists, ftp will
prompt for the remote machine login name (default is the user iden­
tity on the local machine), and, if necessary, prompt for a pass­
word and an account with which to login.

-e Disables command editing and history support, if it was compiled
into the ftp executable. Otherwise, does nothing.

-g Disables file name globbing.

-v Verbose option forces ftp to show all responses from the remote

-d Enables debugging.

The client host with which ftp is to communicate may be specified on the
command line. If this is done, ftp will immediately attempt to establish
a connection to an FTP server on that host; otherwise, ftp will enter its
-g Disables file name globbing.

-v Verbose option forces ftp to show all responses from the remote
server, as well as report on data transfer statistics.

-d Enables debugging.

The client host with which ftp is to communicate may be specified on the
command line. If this is done, ftp will immediately attempt to establish
a connection to an FTP server on that host; otherwise, ftp will enter its
command interpreter and await instructions from the user. When ftp is
awaiting commands from the user the prompt `ftp>' is provided to the
user. The following commands are recognized by ftp:

! [command [args]]
Invoke an interactive shell on the local machine. If there
are arguments, the first is taken to be a command to execute
directly, with the rest of the arguments as its arguments.

$ macro-name [args]
Execute the macro macro-name that was defined with the macdef
command. Arguments are passed to the macro unglobbed.


usw usw .....
trusty
Posts: 19
Joined: 2003-12-16 07:02

Re: also...

Post by trusty »

matzewe01 wrote:
trusty wrote: Wenn ich das eingebe
/usr/bin/ftp -h ftp://bakxxxx:xxxxxx@bakupxx.pureserver.de

dann kommt das

Sperrt mich bitte für 1-2 Tage sonst muss ich heute noch was vom Stapel lassen.
*argh*
mit ftp -h oder man ftp meinte ich:
Dann musst Du in den sauren Apfel beissen, und das wirklich simple Program ftp, so wie es auf Deiner Gurke installiert ist bedienen.
Also nicht alls vorkauen lassen sondern die nötige Muse und Bereitschaft mitbringen, sich auch in ein Problem etwas hinein zu arbeiten!

Und wenn es Deine Version von ftp einfach nicht unterstützt, dann solltest Du dir überlegen, ob eine ncftp Installation nicht doch ziehlführend wäre.

By the way: Eine angabe des eingesetzten OS inkl. Distirbution wäre eventuell auch hilfreich.

Gruss Matthias
Ich kann das durchaus nachvollziehen.
Wenn ich so eine fertige Batch vor mir haben, kann ich es wohl relativ vershen. Nur habe meistens Probleme den richtigen Syntax einzugeben.
Nein diese ncftp kommt mir garantiert nicht mehr drauf, hatte mir meinen Server versaut. Die Confixxuser kamen nicht mehr drau. Meine Confixxversion arbeitet da nun mal mit. Und so schlau bin ich leider nicht. Dafür ist ein Forum da um sich Hilfe "Vorkauen" zu lassen. Sonst wäre es ja eine Unterhaltungsseite mit Spaßwert, aber bestimmt nicht sinnvoll.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11193
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:

Re: also...

Post by Joe User »

matzewe01 wrote:Sperrt mich bitte für 1-2 Tage sonst muss ich heute noch was vom Stapel lassen.
Jetzt schon? Die Ferien fangen doch gerade erst an ;)

Ruhig Blut, in sieben Wochen ist das Gröbste überstanden...
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Jetzt ist folgende Situation. Es wird nur das 1. und das 3. File auf den FTP kopiert. Im Logfile steht aber nur:

Ein kleiner Auszug
/backup/dump_5.tgz.ab: ETA: 0:15 1.92/ 1.99 GB 4.85 MB/s
/backup/dump_5.tgz.ab: ETA: 0:13 1.93/ 1.99 GB 4.87 MB/s
/backup/dump_5.tgz.ab: ETA: 0:11 1.94/ 1.99 GB 4.88 MB/s
/backup/dump_5.tgz.ab: ETA: 0:09 1.95/ 1.99 GB 4.89 MB/s
/backup/dump_5.tgz.ab: ETA: 0:08 1.95/ 1.99 GB 4.88 MB/s
/backup/dump_5.tgz.ab: ETA: 0:07 1.96/ 1.99 GB 4.89 MB/s
/backup/dump_5.tgz.ab: ETA: 0:04 1.97/ 1.99 GB 4.91 MB/s
/backup/dump_5.tgz.ab: ETA: 0:02 1.98/ 1.99 GB 4.92 MB/s
/backup/dump_5.tgz.ab: ETA: 0:00 1.99/ 1.99 GB 4.94 MB/s
/backup/dump_5.tgz.ab: ETA: 0:00 1.99/ 1.99 GB 4.90 MB/s
/backup/dump_5.tgz.ab: 1.99 GB 4.90 MB/s
ncftpput /backup/dump_5.tgz.ab: could not send file to remote host.
/backup/dump_5.tgz.ac:
/backup/dump_5.tgz.ac: ETA: 1:26 0.03/132.19 MB 1.54 MB/s
/backup/dump_5.tgz.ac: ETA: 0:30 1.62/132.19 MB 4.38 MB/s
/backup/dump_5.tgz.ac: ETA: 0:14 12.12/132.19 MB 8.84 MB/s
/backup/dump_5.tgz.ac: ETA: 0:14 19.44/132.19 MB 8.20 MB/s
/backup/dump_5.tgz.ac: ETA: 0:11 30.16/132.19 MB 8.95 MB/s
/backup/dump_5.tgz.ac: ETA: 0:10 41.06/132.19 MB 9.40 MB/s
/backup/dump_5.tgz.ac: ETA: 0:08 52.00/132.19 MB 9.69 MB/s
/backup/dump_5.tgz.ac: ETA: 0:07 62.97/132.19 MB 9.89 MB/s
/backup/dump_5.tgz.ac: ETA: 0:06 73.94/132.19 MB 10.04 MB/s
/backup/dump_5.tgz.ac: ETA: 0:05 84.94/132.19 MB 10.15 MB/s
/backup/dump_5.tgz.ac: ETA: 0:04 95.91/132.19 MB 10.24 MB/s
/backup/dump_5.tgz.ac: ETA: 0:02 106.91/132.19 MB 10.31 MB/s
/backup/dump_5.tgz.ac: ETA: 0:01 117.81/132.19 MB 10.36 MB/s
/backup/dump_5.tgz.ac: ETA: 0:00 128.41/132.19 MB 9.61 MB/s
/backup/dump_5.tgz.ac: ETA: 0:00 128.41/132.19 MB 9.47 MB/s
/backup/dump_5.tgz.ac: ETA: 0:00 132.19/132.19 MB 8.38 MB/s
/backup/dump_5.tgz.ac: 132.19 MB 8.38 MB/s
Der Aufruf für das kopieren ist folgender:

Code: Select all

/usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz.*  2>/var/log/ncftpput_backup.log
Woran liegt es das er immer nur kleine Stückchen kopiert und bei dem 2. Dump abbricht.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11193
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:

Re: Hilfe bei Backupscript

Post by Joe User »

Kann das Zielsystem mit Files >2GB umgehen?
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Ja der Fehler kommt auch bei einem manuellen Aufruf.
y062:/backup # /usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_5.tgz.ab
/backup/dump_5.tgz.ab: 1.99 GB 6.63 MB/s
ncftpput /backup/dump_5.tgz.ab: could not send file to remote host.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11193
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:

Re: Hilfe bei Backupscript

Post by Joe User »

Auf dem Zielsystem ist auch ausreichend freier Platz?
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Speicher ist genug Vorhanden.

Habe den dump der nicht kopiert wird mit tar gepackt, und siehe da, es wird vollstänfig kopiert.

Was nun? Das packen erfolgt ja im backupscript von confixx.
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Das ist ja das Problem. Es ist jedesmal so.
xnetworker
Posts: 25
Joined: 2005-01-04 12:04

Re: Hilfe bei Backupscript

Post by xnetworker »

Ja es ist jedesmal. Es wird nur das 1. und das 3. dumpfile kopiert.
Post Reply