crontab einrichten

K

kaio!

Mitglied
Hallo
irgendwie schaffe ich es nicht einen crontab einzubinden


Putty:~# crontab -u root cron.sh

cron.sh:
* 0,6,12,18 * * * /root/shell/sh.sh

nur läuft das script nicht 0uhr / 6 uhr etc

hab ich was falsch gemacht?
 
Versuch mal das:
Code:
0 */6 * * * /root/shell/sh.sh

Btw. bekommst du Fehlermeldungen in die root-Mails?
 
Hallo
Ich hoffe du hast entweder die PATH für die gesamte crontab eingetragen, oder wenigstens im Script alle Pfade gesetzt.
Der Cronjob kennt nämlich nicht die Umgebungsvariable der Shell.

Desweiteren muss das Skript ausführbar sein.

Das sind so die zwei häufigsten Fehler bei Cronjobs.

Gruß Wolfgang
 
könntest du mal bitte eine beispiels cron mit script zeigen ich kapier das ganze mir dem PATH nicht so wirklich
 
Du schreibst entweder am Anfang deines Scriptes:
Code:
PATH=$PATH:/und/was/du/so/brauchst:/evt/den/auch/noch
export PATH

Oder du schreibst alle Kommandos in deinem Script nicht nur mit dem Kommando sondern mit vollständigem Pfad zum Kommando:
Also nicht "echo" sondern "/bin/echo"
Pfade bekommst du raus mit "which"
Code:
which echo
 
also mich schreit er an:

root:/# crontab cr2
"cr2":1: bad minute
errors in crontab file, can't install.

EDIT:
cr2=

PATH=$PATH:/usr/local/bin:/usr/bin:/usr/sbin:/bin
export PATH
SHELL=/bin/bash
export SHELL
*/1 * * * * root ./test
 
Zuletzt bearbeitet:
öhm wenn du das script meinst war versehen habs edited aber hier nochmal:

PATH=$PATH:/usr/local/bin:/usr/bin:/usr/sbin:/bin
export PATH
SHELL=/bin/bash
export SHELL
*/1 * * * * root ./test
 
ähm ... bitte etwas deutlicher.
1. das Script in die Code-Tags setzen ... dafür sind sie da
2. danach die Zeile der Crontab ... auch in Code-Tags

Momentan seh ich gar nicht, was wohin gehört ;)
 
crontab
Code:
PATH=$PATH:/usr/local/bin:/usr/bin:/usr/sbin:/bin
export PATH
SHELL=/bin/bash
export SHELL
*/1	*	*	*	*	root	./lawl

script
Code:
#!/bin/sh
# delete /public dir
DATE2=`date +%M`
echo DATE2 >> dddd.txt
 
Wieso steht in deiner Crontab ein User (root) drin?
root-Crontabs solltest du mit
Code:
crontab -e
als root anlegen.

Bzw. wie hast du das angelegt?
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Und noch etwas zum Script:
Code:
#!/bin/sh
# delete /public dir
DATE2=`date +%M`
echo DATE2 >> dddd.txt

Besser:
Code:
echo $DATE2 >> dddd.txt
;)
 
Zuletzt bearbeitet von einem Moderator:
Hallo
In der Crontab brauchst du kein export.
Das erledigt cronjob für dich.
Du musst die Variablen nur initialisieren.

Du kannst auch gleich das Ergebnis von date ausgeben.
Code:
date +"%+M" >>dddd.txt

Gruß Wolfgang
 
Jo, ich wär am Ar*ch ohne meinen Lektor.
;)

Gruß Wolfgang
 
angelegt hab ich die unter

root~:#crontab cr2

cr2 = cronscript
 
wenn ich es per crontab <file>
adde

ist crontab -e das gleiche wie der inhalt der cron file
 
eintragen ok... aber wie speicher ich die da ?

:save!

etc geht nicht oder crontab -e tabfile?
 
Ähm ... bei "crontab -e" öffnet sich der Standard-Editor deiner Shell ... wird vermutlich der VI sein.
=> speichern mit :wq
 

Ähnliche Themen

Läuft eine Unix-Variante auf PC aus dem Jahr 2015, der nicht Windows-11-fähig ist?

chown Befehl in einem Script

NAS-Drive Mount in Bash-Script über crontab

Keine Anmeldung bei phpmyadmin möglich!

Keine grafische Oberfläche (Debian Installation)

Zurück
Oben