TS-239P: Logfile für crontab erstellen

  • EDIT


    Hab probiert mit dem Befehl:
    */10 * * * * /share/MD0_DATA/shutdown/powersaver.sh >> /var/log/crontab.log


    die Log zu erzeugen.
    Die Log wurde auch nur einmal erstellt- und ist leer.
    Komischerweise ändert sich die Uhrzeit des logs auch nicht,
    obwohl es eigentlich alle 10min ausgeführt wird.


    Woran kann es liegen?
    Das skript kann ich in putty problemlos mit "sh powersaver.sh" ausführen.
    Danke euch ;)


    EDIT ENDE


    ______________________________________________________________
    Hallo zusammen,


    hab schon alle möglichen Threads durchgesehen, doch konnte ich keine Antwort
    auf die Frage finden.


    Im crontab habe ich ne Routine drin, die alle 10min schaut ob
    noch PCs im Netzwerk aktiv sind und falls nicht, den NAS runterfährt.


    Leider weiss ich nicht, ob dieser Befehl auch richtig ausgeführt wird,
    da ich ja keine Rückmeldung bekomme.


    Im log-Ordner konnte ich nichts dergleichen finden.


    Könntet ihr mir sagen, wie ich den NAS dazu bringe über
    das crontab ein log-file zu erstellen?


    Tausend Dank ;)

  • Richtig ist schon einmal einen Absoluten Pfad anzugeben. :thumb:


    Ich würde das allerdings so schreiben:

    Code
    30 * * * * /share/MD0_DATA/shutdown/powersaver.sh > /var/log/crontab.log


    Und ruhig mal 30 min. warten...


    Ausserdem kommt es schon mal zu Problemen mit dem Crontab, wenn Du im Script die falsche Shebang nutzt. Das auch noch einmal kontrollieren. ;)


    Wahrscheinlich auch interessant:
    http://www.grim.se/guide/qnap-crontab

  • Oder

    Code
    30 * * * * /share/MD0_DATA/shutdown/powersaver.sh && write_log "Script wurde ausgeführt" 4


    damit wird nach erfolgreichem Ausführen des Scripts im NAS-Log der angegebene Text ausgegeben.

  • Vielen Dank für eure Hilfe ;)
    Ich habe leider nicht so die Ahnung von Linux und bin daher sehr dankbar für eure Hilfe.


    Hab jetzt folgenden Rat befolgt und die crontab angepasst:

    Code
    # m h dom m dow cmd0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia0 4 * * * /sbin/hwclock -s0 3 * * * /sbin/vs_refresh0 3 * * * /bin/rm -rf /mnt/HDA_ROOT/twonkymedia/twonkymedia.db/cache/*30 4 * * * /etc/init.d/Qthttpd.sh restart30 * * * * /share/MD0_DATA/shutdown/powersaver.sh && write_log "Script wurde ausgeführt" 4


    In welchen Log geht die Meldung ein? Wie ist sein Pfad?
    Wie müsste die Syntax lauten, wenn ich den log des Skriptes in einer eigenen Datei haben möchte-
    z.B. "crontab-ausgefuehrt.log"


    Das script welches ich ausführ ist eigentlich für "richtige" Linux-Server und nicht speziell für QNAP.
    Musste um es zum laufen zu bringen optware und dazu noch ne nmap-lib installieren.


    Hier das Skript (vielleicht liegt hier der Fehler):
    [Läuft über putty problemlos]


    Danke euch schon mal.


    Werde einfach mal warten und schauen, ob der Server bald runterfährt.

  • Also wenn Du das mit write_log machst, so wie Eraser oben... dann kommt das mit in das System-Log. ;)
    write_log "Text" (1 2 4)
    mit 1 2 4 deklarierst Du die "Stufe"
    1 = Ein Fehler
    2 = Eine Warnung
    4 = Eine Info


    Wenn Du die Seprat haben möchtest, warum auch immer... Dann machst Du das so, wie ich es oben beschrieben habe.
    Wobei Du doch auch die NAS-Log nutzen kannst.... ;)


    Wenn Dein Script läuft, dann läuft es. Iss ja auch Linux auf dem NAS: ;)

  • Danke für die Erläuterung der Syntax ;)


    War jetzt unterwegs und der Server ist in dieser Zeit nicht runtergefahren-
    hab sogar die LAN-Kabel abgesteckt, dass keine Clients gefunden werden können.


    Meinst du mit syslog den hier:
    var/logs/messages- dieser ist leer.
    oder
    den im WebGui- da steht nichts drin von wg. "Script wurde ausgeführt".


    Hab nach jeder Änderung immer nen Server-Reboot gemacht...
    aber das Script geht nicht.


    Woran kann es denn noch liegen.


    Daaaaaaanke schon mal ;)

  • Hallo,


    für mich scheint erstmal diese Zeile nicht unbedingt sinnvoll zu sein:

    Code
    RANGE="192.168.178,179.10-30"

    ,
    ändere es in

    Code
    RANGE="192.168.178.10-30"


    bzw. nur für ein SubNet.

  • JUHUUUUUU ;)


    Es scheint zu funktionieren- um 17:30 ging der Server aus ;)
    Obwohl noch die Clients angeschlossen waren- aber den Fehler werde ich selbst finden.
    Die Lösung war, die Berechtigung in der powersaver.sh neu zu setzen.


    Ich danke euch vielmals für euer Hilfe.
    Jetzt heisst es im SysLog im WebGui "Script ausgeführt." schööööön ;)


    Gruß
    michi15


    EDIT:


    Jetzt hab ich das nächste Problem- :(
    Das Skript läuft nun wunderbar und gibt mir den Output in ne log-Datei.
    [Wie muss die Syntax lauten, um den Output der log-Datei hinzuzufügen,
    dass die log-Datei alle Ausführungen beinhaltet?
    Aktuell seh ich in der log immer nur den Output der letzten Ausführung]

    Dort zeigt sich nun, dass der Ping von nmap zu 0 aktiven Clients führt,
    obwohl noch mehrere Clients aktiv sind.
    Wenn ich das powersaver.sh in Putty ausführ stimmt die Anzahl
    der aktiven clients...
    nur wenn crontab das Skript ausführt stimmt die Anzahl nicht...
    daher fährt der Server jedesmal immer runter, da er denkt 0 Clients sind aktiv.


    Kann es sein, dass es an optware liegt? Muss ich
    den SHELL in crontab definieren?
    SHELL=/bin/bash


    Der Befehlt nmap stammt ja aus der optware-lib.

    Woran kann es liegen.


    Danke im Voraus ;)
    EDIT ENDE


    Problem gelöst!
    Danke euch trotzdem- vielleicht hat die Nachwelt auch mal das gleiche Problem-hier die Lösung:
    Man muss im Skript den ABSOLUTEN Pfad zum Befehl angeben:

    Code
    NUMCLIENTS=`/opt/bin/nmap -sP $RANGE -oG - | grep "^Host" | wc -l`


    Linux heisst wirklich noch arbeiten ;)
    ich merke es immer mehr..
    was WIndows so heimlich alles selbst erledigt muss man Linux
    minutiös auf dem Tablett servieren...


    Danke euch trotzdem für eure Hilfe ;)
    Gruß ;)

    Einmal editiert, zuletzt von christian () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln!

  • Danke dir ;) Hab den 239Pro
    Ich hab schon google gefragt, aber ich wüsste nicht mal wie ich richtig suchen sollte.
    "Output in log" etc. führten nicht wirklich zu einem Ergebnis.
    Gut, dass es dieses Forum gibt... :thumb:


    Vielen Dank ;)

  • Zitat von "michi15"

    Hab den 239P


    Ich hatte die Überschrift gerade nicht im Fenster gehabt und ein Blick rechts im Benutzer-Profil brachte kein Ergebnis,
    dabei hätte ich nur etwas scrollen müssen. :D