• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Script soll 1 befehl ausführen?

mmp5

Member
Ich brauche ein Script, welches ca. alle 30 min ausgeführt wird:

der befehl der ausgeführ werden soll ist:

Code:
sendmail -q

Ich würde intuitiv folgendes machen:

Code:
1. vi script_sendmail

2. (im vi) sendmail -q

3. (im crontab)  40 * * * * /usr/local/sbin/script_sendmail
(Wird alle 40 min ausgeführt)

Dass funktioniert aber nicht wirklich ... wie mach ich das ... der befehl soll so ausgeführt werden, als wenn ich den in die KOmmandozeile eingebe.
 

oc2pus

Ultimate Guru
mmp5 schrieb:
IDass funktioniert aber nicht wirklich ... wie mach ich das ... der befehl soll so ausgeführt werden, als wenn ich den in die KOmmandozeile eingebe.


in deinem Script an den Anfang die folgende Zeile setzen:
Code:
#!/bin/bash

Hast du dein script ausführbar gemnacht ?
==> chmod +x dein-script

Und in deinem Script immer VOLLSTÄNDIGE Pfade zu den Programmen einsetzen, der cron-dämon hat keine richtige "Umgebung"
 

}-Tux-{

Hacker
mmp5 schrieb:
Code:
sendmail -q
Code:
1. vi script_sendmail

2. (im vi) sendmail -q

3. (im crontab)  40 * * * * /usr/local/sbin/script_sendmail
(Wird alle 40 min ausgeführt)
Dann wird er aber erst 40 Minuten nach jeder Stunde ausgeführt und nicht alle 40 MInuten.
Bsp.:
10:40; 11:40; 12:40 usw

Schreibe "*/40" anstatt "40" denn dann wird er auch alle 40 Minuten ausgeführt :)


}-Tux-{
 
}-Tux-{ schrieb:
Schreibe "*/40" anstatt "40" denn dann wird er auch alle 40 Minuten ausgeführt :)
Also ich weiß nicht, ob dass so klappt. Bei */5 */10 */15 */20 */30 geht das, weil die genannten Zahlen ein Teiler von 60 sind, aber 40?!
 
OP
M

mmp5

Member
Also Komplet zusammengefasst heißt des soweit:

Script:

vi /usr/local/sbin/script_sendmail

------------------------------------------------------
#!/bin/bash
/usr/sbin/sendmail –q
------------------------------------------------------

chmod +x /usr/local/sbin/script_sendmail

crontab -e
--------------------------------------------
*/15 * * * * /usr/local/sbin/script_sendmail
--------------------------------------------

Der befehl wird nun alle 15 min ausgeführt richtig?
 

oc2pus

Ultimate Guru
jo, aber warum schreibst du ein script für exakt einen Befehl ?
das kannst du auch gleich so in die Crontab schreiben :)
 
Oben