Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 20

Thema: crontab

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.10.2005
    Ort
    MATRIX
    Beiträge
    91

    crontab

    hi *

    habe ein script um eine datenbank zu sichern und will es per cron einmal am tag laufen lassen.
    wenn ich es manuell starte bekomm ich ein schönes tar.gz raus, aber wenn ich das programm durch den cron starte ... wird die datei erzeugt, ist aber nur 78k gross ... (entpackt und enttart ist es dann LEER) ... die anderen save-files sind ca 5000k
    ich arbeite auf einem true64, und hab keinen schimmer woran das liegen kann.

    bitte helft mir
    Ich will ja die Welt verbessern, aber Gott gibt mir den Quellcode nicht. Aber die Grafik hat er geil hinbekommen!

  2. #2
    Registrierter Benutzer
    Registriert seit
    30.06.2005
    Beiträge
    155
    was steht im log?
    religion is a virus from outer space

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    nicht vergessen, dass crond eine eigene Umgebung hat -> also auch eine eigene $PATH.
    Im Zweifelsfall einfach den absoluten Pfad zu mysqladmin (oder was Du auch immer benutzt) angeben...

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.10.2005
    Ort
    MATRIX
    Beiträge
    91
    ich hab es hinbekommen .. es war zum einen die path angaben .. und zum anderen hatte ich als root die cron datei erstellt und es muss bin gehören ..
    meine unwissenheit tut mir leid ...
    aber ninguno kannst du mir bitte noch sagen, wo der log steht? ...

    thx
    Ich will ja die Welt verbessern, aber Gott gibt mir den Quellcode nicht. Aber die Grafik hat er geil hinbekommen!

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Entweder schreibt das Script direkt in eine Logdatei, oder sonst wird dir der Stdout des Scripts von cron gemailt. Vorausgesetzt natürlich du hast einen (funktionierenden) MTA.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #6
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    und wenn kein MTA läuft, wird stdout in die Datei dead.letter des Users, dem der Cron-Auftrag gehört, geschrieben.

  7. #7
    Registrierter Benutzer
    Registriert seit
    20.10.2005
    Ort
    MATRIX
    Beiträge
    91

    Angry Alarm !!

    verdammt.
    ich dachte das script läuft, und es erstellt auch die datei .. aber diese ist wieder nur 78k gross ...*nerv
    die pfade hatte ich korrigiert .. log ?? ...mta läuft

    script:
    Code:
    mgodms51> more ~/bin/2_secure_script
    #!/bin/ksh
                                                                                                                                                                 
    ##########################################
    ##                                      ##
    ## Scirpt zum Sichern von DB's          ##
    ##                                      ##
    ##########################################
    #
    # In der Datei "liste" sind die zu sichernden DB's anzugeben
    #
                                                  
    cd /usr/users/dms/bin
                          
    dir=`pwd`
    for db in `cat liste`
    do
            tar=""$db"_by_cron_`date +%d%h%y_%H%M`.tar"
            rm -rf db_tmp_dir
            mkdir db_tmp_dir
            cd db_tmp_dir
            /usr/users/dms/bin/copydb -c $db
            sql -f8F79.38 $db < copy.out
            sed "s+`pwd`+.+" < copy.in > new_copy.in
            mv new_copy.in copy.in
            tar -cf $tar *
            chmod 777 $tar
            gzip -9 $tar
            mv "$tar".gz /usr/users/dms/backup/BY_CRON
            cd ..
           rm -rf db_tmp_dir
    done
    exit
    der Mailinhalt
    Code:
    mgodms51> mail
    From root Wed May 10 09:23:01 2006
    Received: by mgodms51 id k4A9N1L48558; Wed, 10 May 2006 09:23:01 GMT
    Date: Wed, 10 May 2006 09:23:01 GMT
    From: system PRIVILEGED account <root@mgodms51>
    Message-Id: <200605100923.k4A9N1L48558@mgodms51>
                                                                                                                                                                 
    /usr/users/dms/bin/2_secure_script[27]: /usr/users/dms/bin/copydb:  not found
    /usr/users/dms/bin/2_secure_script[28]: copy.out: cannot open
    /usr/users/dms/bin/2_secure_script[29]: copy.in: cannot open
    mv: rename new_copy.in to copy.in: No such file or directory
    tar: * : No such file or directory
    /usr/users/dms/bin/2_secure_script[27]: /usr/users/dms/bin/copydb:  not found
    /usr/users/dms/bin/2_secure_script[28]: copy.out: cannot open
    /usr/users/dms/bin/2_secure_script[29]: copy.in: cannot open
    mv: rename new_copy.in to copy.in: No such file or directory
    tar: * : No such file or directory
                                                                                                                                                                 
                                                                                                                                                                 
    *************************************************
    Cron: The previous message is the standard output
          and standard error of the following crontab command:
                                                                                                                                                                 
    /usr/users/dms/bin/2_secure_script 1>/dev/null
                                                                                                                                                                 
    ? d
    mgodms51>
    bitte helft mir!
    Ich will ja die Welt verbessern, aber Gott gibt mir den Quellcode nicht. Aber die Grafik hat er geil hinbekommen!

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    Existiert diese Datei:
    Code:
     /usr/users/dms/bin/copydb
    und ist sie ausführbar für den User, unter dem Cronjob läuft?

  9. #9
    Registrierter Benutzer
    Registriert seit
    20.10.2005
    Ort
    MATRIX
    Beiträge
    91
    und ist sie ausführbar für den User, unter dem Cronjob läuft?
    ja,ja,ja ... und ich weiss nicht weiter :-(
    Ich will ja die Welt verbessern, aber Gott gibt mir den Quellcode nicht. Aber die Grafik hat er geil hinbekommen!

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    setz doch mal an den Anfang des Skriptes ein "set -x" und poste mal die komplette Ausgabe, die dann beim Aufruf durch Crond produziert wird.
    Unten unter das Skript könntest Du vorsichtshalber noch ein "env" schreiben... so kann man sich die aktuelle Umgebung ansehen.

    Ist /usr/users/dms/bin/copydb auch ein Skript? Wenn ja, poste dieses bitte auch mal. Evtl. liegt ja auch da das Problem...

    Gruß, michael

  11. #11
    Registrierter Benutzer
    Registriert seit
    20.10.2005
    Ort
    MATRIX
    Beiträge
    91
    hab also nochmal mein script:
    Code:
    #!/bin/ksh
                                                                                                                                                                 
    ##########################################
    ##                                      ##
    ## Scirpt zum Sichern von DB's          ##
    ##                                      ##
    ##########################################
    ##                                      ##
    ## Autor:       M. Wilke                ##
    ## Datum:       26.04.2006              ##
    ## Version:     1.2                     ##
    ##                                      ##
    ##########################################
    #
    # In der Datei "liste" sind die zu sichernden DB's anzugeben
    #
                                                                                                                                                                 
    set -x
                                                                                                                                                                 
    cd /usr/users/dms/bin
                                                                                                                                                                 
    dir=`pwd`
    for db in `cat liste`
    do
            tar=""$db"_by_cron_`date +%d%h%y_%H%M`.tar"
            rm -rf db_tmp_dir
            mkdir db_tmp_dir
            cd db_tmp_dir
            /usr/users/dms/bin/copydb -c $db
            sql -f8F79.38 $db < /usr/users/dms/bin/db_tmp_dir/copy.out
            sed "s+`pwd`+.+" < /usr/users/dms/bin/db_tmp_dir/copy.in > /usr/users/dms/bin/db_tmp_dir/new_copy.in
            mv /usr/users/dms/bin/db_tmp_dir/new_copy.in /usr/users/dms/bin/db_tmp_dir/copy.in
            tar -cf $tar *
            chmod 777 $tar
            gzip -9 $tar
            mv "$tar".gz /usr/users/dms/backup/BY_CRON
            cd ..
           rm -rf db_tmp_dir
    done
    env
    exit
    die fehlermeldung per mail:
    Code:
    mgodms51> mail
    From root Thu May 18 10:41:00 2006
    Received: by mgodms51 id k4IAf0e101791; Thu, 18 May 2006 10:41:00 GMT
    Date: Thu, 18 May 2006 10:41:00 GMT
    From: system PRIVILEGED account <root@mgodms51>
    Message-Id: <200605181041.k4IAf0e101791@mgodms51>
                                                                                                                                                                 
    + cd /usr/users/dms/bin
    + + pwd
    dir=/usr/users/dms/bin
    + cat liste
    + + date +%d%h%y_%H%M
    tar=krhlive_by_cron_18May06_1040.tar
    + rm -rf db_tmp_dir
    + mkdir db_tmp_dir
    + cd db_tmp_dir
    + /usr/users/dms/bin/copydb -c krhlive
    + sql -f8F79.38 krhlive
    + /usr/users/dms/bin/2_secure_script[29]: /usr/users/dms/bin/db_tmp_dir/copy.out: cannot open
    + pwd
    + sed s+/usr/users/dms/bin/db_tmp_dir+.+
    + /usr/users/dms/bin/2_secure_script[30]: /usr/users/dms/bin/db_tmp_dir/copy.in: cannot open
    + mv /usr/users/dms/bin/db_tmp_dir/new_copy.in /usr/users/dms/bin/db_tmp_dir/copy.in
    mv: rename /usr/users/dms/bin/db_tmp_dir/new_copy.in to /usr/users/dms/bin/db_tmp_dir/copy.in: No such file or directory
    + tar -cf krhlive_by_cron_18May06_1040.tar *
    tar: * : No such file or directory
    + chmod 777 krhlive_by_cron_18May06_1040.tar
    + gzip -9 krhlive_by_cron_18May06_1040.tar
    + mv krhlive_by_cron_18May06_1040.tar.gz /usr/users/dms/backup/BY_CRON
    + cd ..
    + rm -rf db_tmp_dir
    + + date +%d%h%y_%H%M
    tar=trainer_by_cron_18May06_1040.tar
    + rm -rf db_tmp_dir
    + mkdir db_tmp_dir
    + cd db_tmp_dir
    + /usr/users/dms/bin/copydb -c trainer
    + sql -f8F79.38 trainer
    + /usr/users/dms/bin/2_secure_script[29]: /usr/users/dms/bin/db_tmp_dir/copy.out: cannot open
    + pwd
    + sed s+/usr/users/dms/bin/db_tmp_dir+.+
    + /usr/users/dms/bin/2_secure_script[30]: /usr/users/dms/bin/db_tmp_dir/copy.in: cannot open
    + mv /usr/users/dms/bin/db_tmp_dir/new_copy.in /usr/users/dms/bin/db_tmp_dir/copy.in
    mv: rename /usr/users/dms/bin/db_tmp_dir/new_copy.in to /usr/users/dms/bin/db_tmp_dir/copy.in: No such file or directory
    + tar -cf trainer_by_cron_18May06_1040.tar *
    tar: * : No such file or directory
    + chmod 777 trainer_by_cron_18May06_1040.tar
    + gzip -9 trainer_by_cron_18May06_1040.tar
    + mv trainer_by_cron_18May06_1040.tar.gz /usr/users/dms/backup/BY_CRON
    + cd ..
    + rm -rf db_tmp_dir
    + env
    PATH=:/usr/bin
    LOGNAME=dms
    USER=dms
    SHELL=/usr/bin/sh
    HOME=/usr/users/dms
    PWD=/usr/users/dms/bin
    + exit
     
     
    *************************************************
    Cron: The previous message is the standard output
          and standard error of the following crontab command:
     
    /usr/users/dms/bin/2_secure_script
     
    ?
    copydb ist :
    HTML-Code:
    mgodms51> file copydb
    copydb: COFF format alpha dynamically linked, demand paged executable or object module not stripped - version 3.11-10
    eine datei von eine firma und es ist zu erwarten, dass es funktioniert

    mein script funktioniert ja auch, wenn ich es aufrufe ... nur per cron halt nicht
    *wein
    Ich will ja die Welt verbessern, aber Gott gibt mir den Quellcode nicht. Aber die Grafik hat er geil hinbekommen!

  12. #12
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Mehlwurm
    hab also nochmal mein script:
    [CODE]
    mein script funktioniert ja auch, wenn ich es aufrufe ... nur per cron halt nicht
    *wein
    Gib mal den Fullpath tar an, dann funktioniert dein Script auch per Cron.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  13. #13
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    Daran kann es eigentlich nicht liegen. tar sollte in /usr/bin liegen...dieser Pfad ist ja in $PATH enthalten. Außerdem wird ja ein tarball erstellt... er enthält nur nix. Ich vermute eher, dass die Datei
    Code:
    /usr/users/dms/bin/db_tmp_dir/copy.out
    garnicht bzw. an falscher Stelle erstellt wird.

    Code:
    + sql -f8F79.38 krhlive
    + /usr/users/dms/bin/2_secure_script[29]: /usr/users/dms/bin/db_tmp_dir/copy.out: cannot open
    Wenn der User "dms" wirklich alle benötigten Rechte auf die ganzen Dateien hat, stellt sich die Frage, was das Skript "2_secure_script" in Zeile 29 tut... bzw. warum es die Datei nicht findet.

  14. #14
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von michael.sprick
    Daran kann es eigentlich nicht liegen. tar sollte in /usr/bin liegen...dieser Pfad ist ja in $PATH enthalten. Außerdem wird ja ein tarball erstellt... er enthält nur nix. Ich vermute eher, dass die Datei
    Code:
    /usr/users/dms/bin/db_tmp_dir/copy.out
    garnicht bzw. an falscher Stelle erstellt wird.

    [code]
    Das meinte ich ja, vielleicht ein wenig unglücklich ausgedrückt.


    kleine Anregung:
    1.) Hatte vor langer Zeit ein ähnliches Problem mit Cron. Die
    Ursachenforschung ist klebrig. Nachdem ich das Script noch 1x
    in PHP geschrieben hatte, klappte es sofort. Das ging schneller
    als jede Zeile durch zu popeln wo der Fehler liegt.

    2.) Du kannst die Namen der DB's auch dynamisch auslesen.
    (Dann wird nix vergessen.)
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  15. #15
    Registrierter Benutzer
    Registriert seit
    20.10.2005
    Ort
    MATRIX
    Beiträge
    91
    Zitat Zitat von Romanday

    1.) Hatte vor langer Zeit ein ähnliches Problem mit Cron. Die
    Ursachenforschung ist klebrig. Nachdem ich das Script noch 1x
    in PHP geschrieben hatte, klappte es sofort. Das ging schneller
    als jede Zeile durch zu popeln wo der Fehler liegt.

    2.) Du kannst die Namen der DB's auch dynamisch auslesen.
    (Dann wird nix vergessen.)
    zu eins ... php ist nicht installiert und das wird auch leider nichts ..
    zu zwei ... weiss nicht wie, aber das sollte nicht wild sein, da nur einige db´s gesichert werden sollen... und das kann auch varieren

    werde nochmal die rechte überprüfen ..
    was mir auffällt, wenn der cron das verzeichnis db_tmp_dir erzeugt, wie sind dann die rechte .. ?

    werd mal ein chmod 777 auf db_tmp_dir einfügen
    Ich will ja die Welt verbessern, aber Gott gibt mir den Quellcode nicht. Aber die Grafik hat er geil hinbekommen!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •