Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Crontab

Empfohlene Antworten

Veröffentlicht

Hi,

ich versuche gerade einen Cronjob zu erstellen.

Ich habe ein Shellscript geschrieben, das ich über einen Cronjob aufrufen will. Das Script verschickt per Mutt eine Mail mit einer Datei im Attachment, löscht dann diese Datei und bootet den Rechner neu.

Wenn ich das Script von Hand aufrufe läuft es einwandfrei.

Beim Aufruf über die Crontab bekomme ich immer die Meldungen Command not found als Mail an root. Ich hab es mit absoluten Pfaden, nur dem Dateinamen, mit ./ vornedran und ohne probiert. Immer das gleiche Ergebnis. Auf dem Script sind volle Rechte (777). Ich hab auch schon versucht das Script in verschiedene Pfade zu packen (in /usr/sbin, /usr/bin und sogar in /).

Der Aufruf sieht im Moment so aus:

12 * * * * root /usr/sbin/mailsenden

Ich benutze Suse 7.1.

Hat einer eine Idee woran das liegen könnte??

Hast Du den absoluten Pfad zur Shell und zu Mutt in dem Shellskript gesetzt ?

Bedenke, das die Umgebung in der cron abläuft, nicht deiner Arbeitsumgebung entspricht. Setz im Script vorher Pfade oder benutze nur absolute Pfade, auch für erstellte Dateien (die auf generell nach /var/tmp/ gehören, mit mktemp erstellt werden sollten und nach gebrauch gelöscht werden sollten).

Ein Auswertescript würde z.B. dieses machen:


#!bin/sh


LOG=/var/log/somelog

PARSER=/usr/local/bin/someparser

OPTS="-1 -l 12 -T foo"

MAILX=/usr/bin/mailx

TMPFILE=`mktmp /var/tmp/mail.XXXXXX` || exit 1


# Use Parser on Log and pipe output nach /var/tmp/

${PARSER} ${OPTS} ${LOG} > ${TMPFILE}


# Send parsed log as mail

${MAILX} -s "Logauswertung" user@host < ${TMPFILE}


# delete tempfile and exit

rm -f ${TMPFILE}

exit 0

Mach dir einfach mal ein Cronjob der nur "env" ausführt, dann siehst du welche Bedingungen in deiner cron-umgebung existieren.

<FONT COLOR="#a62a2a" SIZE="1">[ 12. September 2001 23:14: Beitrag 1 mal editiert, zuletzt von DevilDawn ]</font>

Hmmm...

Die Pfade im Script hatte ich alle absolut angegeben, bis auf den zu Mutt. Jetzt hab ich den Pfad zu Mutt auch absolut drin, gleiches Ergebnis.

@Devil: Ich erstelle keine temp-Datei, sondern verschicke die Orginal Logg-Datei, die nach dem verschicken dann auch gelöscht wird (aus Platzgründen).

Irgendwie glaube ich inzwischen, das da irgendwo was ganz schwer verbogen ist :( Ich bekomme jetzt auch bei den Cron-Jobs die standartmäßig drin sind (z.B. test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons) die Meldung command not found

hmm,

ich hatte schon div. probleme mit dem cron, das er die crontab nicht neu ausliest:

/sbin/init.d/cron restart

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Irgendwie glaube ich inzwischen, das da irgendwo was ganz schwer verbogen ist Ich bekomme jetzt auch bei den Cron-Jobs die standartmäßig drin sind (z.B. test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons) die Meldung command not found

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>12 * * * * root /usr/sbin/mailsenden

@souse: Daran liegt's nicht, ich hatte den Cron nach jeder Änderung neu gestartet.

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von multimac:

<STRONG>

Ggf. hilft auch das Setzen von Umgebungsvariablen in /etc/crontab (könnte auf Deinem (Linux? BSD? Anderes?) System anders sein) ala

SHELL=/bin/sh

PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin</STRONG>

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.