mysqldump script -> Variablen Problem

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Rauschi, 09.08.2006.

  1. #1 Rauschi, 09.08.2006
    Rauschi

    Rauschi Grünschnabel

    Dabei seit:
    09.08.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Folgendes Script :

    Code:
    #!/bin/sh
    #------------------------------------------------------------------------------
    #Overall
    #------------------------------------------------------------------------------
    DATUM=`date +%Y-%m-%d`
    MYSQLDUMP=/usr/bin/mysqldump
    BACKUPDIR=/opt/mysqlbackup
    #------------------------------------------------------------------------------
    #Connection Parameters
    #------------------------------------------------------------------------------
    HOST=localhost
    USER=backup
    PW=dumdidum
    PORT=3306
    PROTOCOL=SOCKET
    #
    CONN="--host=$HOST --user=$USER --password=$PW --port=$PORT --protocol=$PROTOCOL"
    #------------------------------------------------------------------------------
    #mysqldump Configurations
    #------------------------------------------------------------------------------
    MYSQLDUMPSTRUCTURE="$MYSQLDUMP $CONN --add-drop-database --add-drop-table --create-options --no-data --lock-tables"
    MYSQLDUMPDATA="$MYSQLDUMP $CONN --add-drop-database --add-drop-table --create-options --complete-insert --delayed-insert --extended-insert --lock-tables --routines --triggers"
    #------------------------------------------------------------------------------
    #Databases to backup
    #------------------------------------------------------------------------------
    DB1=mysql
    DB2=helpdesk
    DB3=xinco
    #------------------------------------------------------------------------------
    #Here we go
    #------------------------------------------------------------------------------
    $MYSQLDUMPSTRUCTURE $DB1 > $BACKUPDIR/$DATUM-$DB1-structure.sql
    $MYSQLDUMPDATA $DB1 > $BACKUPDIR/$DATUM-$DB1-data.sql
    Per ssh eingeloggt funktioniert das ganze auf der bash shell einwandfrei. Führ ich das Script aus "sh mysqlbackup.sh" funktioniert es sowohl unter bash als auch sh nicht.

    Folgende Fehlermeldung :

    : Datei oder Verzeichnis nicht gefundenmysqlbackup
    : Datei oder Verzeichnis nicht gefundenmysqlbackup

    Diverse Abänderungen haben ergeben das die Variablen nicht korrekt übergeben werden.
    echo $HOST funktionier.
    Bei den verschachtelten wie $CONN kommt nur irres zeug raus :
    --protocol=SOCKETdidum

    Also ein Teil vom Password angehängt, der Rest wie Host oder User fehlt.

    Wäre für jede Hilfe dankbar.
    Gruß
    Andi
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 lordlamer, 09.08.2006
    lordlamer

    lordlamer Haudegen

    Dabei seit:
    15.05.2003
    Beiträge:
    703
    Zustimmungen:
    0
    Ort:
    hamburg
    schuss ins blaue

    mal bin/bash anstatt bin/sh verwendet?

    mfg frank
     
  4. #3 Rauschi, 09.08.2006
    Rauschi

    Rauschi Grünschnabel

    Dabei seit:
    09.08.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Ja, bringt selben Fehler
     
  5. hmhweb

    hmhweb Mitglied

    Dabei seit:
    29.11.2004
    Beiträge:
    46
    Zustimmungen:
    0
    .bashrc am Skriptanfang sourcen und damit das Environment laden ?

    hmh
     
  6. #5 Rauschi, 09.08.2006
    Rauschi

    Rauschi Grünschnabel

    Dabei seit:
    09.08.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo Web,

    das ist mein erstes Script ;)
    Hab ein bißchen zu .bashrc gegoogelt, aber nichts sinnvolles gefunden. Könntest du mir den passenden Quellcode geben ?

    Danke
    Andi
     
  7. hmhweb

    hmhweb Mitglied

    Dabei seit:
    29.11.2004
    Beiträge:
    46
    Zustimmungen:
    0
    Hi,

    am Anfang Deines Skripts einfach
    Code:
    . ~/.bashrc
    
    einfügen. Dann sollten so Variablen wie PATH usw. richtig gesetzt sein.
    Ich seh gerade aber, daß ich beim Aufruf von
    sh xterm
    auch einen Fehler krieg: cannot execute binary file
    Alss mal alternativ mal mit
    Code:
    sh -c /kompletter/pfad/deinskript
    aufrufen.

    hmhweb
     
  8. #7 Wolfgang, 09.08.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Mit welchem Editor und unter welchem System erstellst du dein Script?

    Wenn du das Script aus einer bash-shell ausführst sollte die ~/.bashrc schon geladen sein.
    Ein source <DATEI> ist also nicht nötig.
    Ich vermute eher Zeichensatz-Salat.

    Gruß Wolfgang
     
  9. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Da alle Werte in dem Skript offensichtlich statisch sind, stellt sich mir irgendwie die Frage, warum die extra in Variablen gepackt werden muessen.
     
  10. #9 Wolfgang, 09.08.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Das ist auch völlig klar, da xterm ja kein Script ist.
    Wenn du eine Shell startest, dann erwartet diese entweder einen ausführbaren String, oder eine datei mit ausführbaren Befehlen.

    Gruß Wolfgang
     
  11. #10 Rauschi, 09.08.2006
    Rauschi

    Rauschi Grünschnabel

    Dabei seit:
    09.08.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo nochmal,

    Wolfgang hatte recht :)
    Ich hatte die Datei mit Hilfe von Webmin erstellt, der hat am Zeilenumbruch scheisse gebaut.

    Wollte gerade noch einem befreundeten Admin ne E-Mail zu dem Thema schreiben, als ich per vi die Datei aufgemacht habe.

    Jetzt funktionierts einwandfrei.
    Danke an alle für die Mühe

    Gruß
    Andi
     
  12. hmhweb

    hmhweb Mitglied

    Dabei seit:
    29.11.2004
    Beiträge:
    46
    Zustimmungen:
    0
    Tschuldigung,
    da stand ich wohl gerade irgendwie auf der Leitung :think:

    hmhweb
     
  13. goran

    goran Jungspund

    Dabei seit:
    18.04.2006
    Beiträge:
    15
    Zustimmungen:
    0
    Hi Leute,
    also bei mir funktioniert dieses Script einwandfrei. Jedoch möchte ich da was hinzufügen und zwar einen Kommentar. Welches ich dann per mail erhalte. Und zwar ob das Backup funktionierte oder nicht.
    Die Mail erhalte ich zwar, jedoch ohne Kommentar. Wie baue ich da also eine Nachricht ein wie "Die Datensicherung war erfolgreich!".
    Soweit ich weiss läuft das über echo, jedoch habe ich keinen schimmer wie ich das alles umsetzen kann. Hat da einer eine Idee.
    Vielen Dank und gruss

    Goran
     
  14. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  15. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    mail -s "Die Datensicherung war erfolgreich!" to@mail.adress
    
    Gruss, Xanti
     
  16. goran

    goran Jungspund

    Dabei seit:
    18.04.2006
    Beiträge:
    15
    Zustimmungen:
    0
    Man das ist ja einfacher als ich dachte ;-)
    Vielen Dank

    Goran
     
Thema:

mysqldump script -> Variablen Problem

Die Seite wird geladen...

mysqldump script -> Variablen Problem - Ähnliche Themen

  1. mysqldump: Got error: 1286: Unknown storage engine 'ndbinfo' when using LOCK TABLES

    mysqldump: Got error: 1286: Unknown storage engine 'ndbinfo' when using LOCK TABLES: Hallo. Bei der Sicherung meiner Datenbanken via mysqldum erhalte ich eine Fehlermeldung: # mysqldump -A > /home/user/Dokumente/alle_db.dump...
  2. Mysqldump to PHP Converter

    Mysqldump to PHP Converter: Hey, Gibt es ein Script/Programm/oder ähnliches, womit ich ein mysqldump von phpmyadmin in PHP konventieren kann? Also in ein "PHP Setup...
  3. mysqldump und Umlaute

    mysqldump und Umlaute: Hallo zusammen, wir sind im Zusammenhang mit unserem MySQL Backup auf ein Problem mit mysqldump und Umlauten gestossen. Ich habe bereits...
  4. Output von mysqldump auf stdout

    Output von mysqldump auf stdout: Wie kann ich mysqldump beibringen, dass es seinen Output nicht auf stderr, sondern auf stdout ausgeben soll?
  5. MySQLDumper1.21 erschienen !

    MySQLDumper1.21 erschienen !: [IMG] This is the new version of MySQLDumper. It contains many bugfixes and improves the usability of the webinterface. The most important thing:...