Shellskript läuft nicht...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Shellskript läuft nicht...

    Hallo,

    ich habe ein Skript, daß ich auf den Server meines Providers (Strato) abgelegt habe. Wenn ich per Telnet anmelde und es aufrufe funktioniert es. Wenn ich das jedoch über einen Cron-Job laufen lasse wird zwar eine Datei angelegt, diese ist dann aber 0 Bytes groß.
    Das ganze will ich zum Backupen meiner DB benutzen.

    Frage: Was muß ich ändern, damit das auch unter den Cronjob läuft, oder hat jemand eine andere möglichkeit Dumps von MySAL Datenbanken zu ziehen? Ggf. in PHP?

    Gruß
    Jens





    Code:
    #!/bin/bash
    
    
    # MySQL Hostname
    DBHOST='myhost.serverkompetenz.net'
    
    # MySQL Username
    DBUSER='myUser'
    
    # MySQL Password
    DBPASSWD='myPass'
    
    # MySQL Database
    DATABASE='myDatabase'
     
    
    # Local Directory for Dump Files
    LOCALDIR=/pages/myDirectory/dumps/
    
    
    
    #####################################
    ### Edit Below If Necessary ######### 
    #####################################
    
    cd $LOCALDIR
    SUFFIX=`eval date +%Y%m%d`
    
    
    FILENAME=dump_$SUFFIX.gz
    
    
    touch $LOCALDIR$FILENAME
    chmod 777 $LOCALDIR
    chmod 777 $LOCALDIR$FILENAME
    mysqldump -u$DBUSER -p$DBPASSWD -h$DBHOST $DATABASE | gzip --best > $LOCALDIR$FILENAME
    chmod 440 $LOCALDIR*.gz
    exit 0
    http://www.NoteStore.de
    http://www.diaet-community.de
    http://www.jensn.de
    http://www.KinderFlohmarkt.de

  • #2
    Ich würde mal sagen, das die Pfade im der Shell und/oder im Script nicht stimmen. Prüf das mal. Und vorallem lass dir mal die Fehler von Cron ausgeben.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      Wie kann ich denn die Fehler von Cron ausgeben lassen?
      Glaube ich übrigens nicht, daß die Pfade falsch sind.
      Die Datei wird ja erzeugt, ist bloß halt leer.

      Ich denke es liegt irgendwie an den Rechten des Users, der den CronJob ausführt...

      Jens
      http://www.NoteStore.de
      http://www.diaet-community.de
      http://www.jensn.de
      http://www.KinderFlohmarkt.de

      Kommentar


      • #4
        starte doch das script einfach mal in der shell,
        und schau die die Ausgaben an
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Das habe ich doch schon gemacht.
          In der Shell läuft das Skript einwandfrei, nur im CronJob nicht.

          Jens
          http://www.NoteStore.de
          http://www.diaet-community.de
          http://www.jensn.de
          http://www.KinderFlohmarkt.de

          Kommentar


          • #6
            Wie sieht dein Cronjob genau aus?
            Zeig mal die befehlszeile.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              10 0 * * * /pages/myJob/dumpdb.sh

              Aber dearan liegt es nicht!
              Der Job WIRD AUSGEFÜHRT, er dumped bloß halt nicht!

              Jens
              http://www.NoteStore.de
              http://www.diaet-community.de
              http://www.jensn.de
              http://www.KinderFlohmarkt.de

              Kommentar


              • #8
                10 0 * * * root /pages/myJob/dumpdb.sh

                Trag das mal so ein!
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #9
                  Hat auch nichts gebracht.
                  Ich habe noch eine "> dumdb.log" drangehängt.
                  Die Datei wird erzeugt, ist aber leer....

                  Ratlos..
                  Jens
                  http://www.NoteStore.de
                  http://www.diaet-community.de
                  http://www.jensn.de
                  http://www.KinderFlohmarkt.de

                  Kommentar


                  • #10
                    Du hast hinter den CronJob aber kein >/dev/null zustehen, oder?

                    Weil wenn du dahinter ein >/dev/null zustehen hast, werden alle Ausgaben in den Papierkorb geschoben!
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #11
                      ich habe nicht viel Ahnung, aber kann es sein dass bei deinem Command:
                      mysqldump -u$DBUSER -p$DBPASSWD -h$DBHOST $DATABASE | gzip --best > $LOCALDIR$FILENAME
                      zwischen den Options und den Wert ein Komma fehlt? etwa:

                      mysqldump -u,$DBUSER -p,$DBPASSWD -h,$DBHOST $DATABASE | gzip --best > $LOCALDIR$FILENAME

                      Kommentar


                      • #12
                        Nein. Der CronJob sieht so aus wie oben beschrieben.
                        Das Skript läuft lokal durch. jedoch nicht als CronJob.


                        Immer ratloser ....
                        http://www.NoteStore.de
                        http://www.diaet-community.de
                        http://www.jensn.de
                        http://www.KinderFlohmarkt.de

                        Kommentar


                        • #13
                          Hast du mal versucht, das Script statt auf VAR´s mit den richten Ausgaben anzustoßen?
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar


                          • #14
                            * * * * * root --dump URL-ZUM-Script 2>&1 | mail deine@email.TLD | true

                            Dieser Cron sollte dir in fehlerfalle eine eMail schicken. In dieser eMail kannst du dann nachlesen wo genau der Fehler ist.
                            *winks*
                            Gilbert
                            ------------------------------------------------
                            Hilfe für eine Vielzahl von Problemen!!!
                            http://www.1st-rootserver.de/

                            Kommentar

                            Lädt...
                            X