script geht nicht über Cron

P

project_gonzo

Grünschnabel
Hallo,
Habe ein Shell script was nicht schön aussieht aber funktioniert ;)
nur leider wenn ich das via Crontab ansteuere gehts nicht...
alle anderen Crontabs funktionieren

hier das Script
Code:
# Erstell eine .nfo
ls -l /var/www/web1/html/backup > nfo/backup_vom_$(date "+%y_%m_%d").nfo
cd nfo
# Verschickt die .nfo per Mail
mpack -s Backup_Übersicht backup_vom_$(date "+%y_%m_%d").nfo info@meineEmail.de

Kann mir da einer n Tip geben warum das nicht geht?

mein Cron dazu:
Code:
0 10 * * *     /srv/send.sh
 
mein Cron dazu:
Code:
0 10 * * *     /srv/send.sh
Ist das ein Ausschnitt aus /etc/crontab? Dann fehlt vor dem Skriptnamen noch der user, unter dem es ausgefuehrt werden soll. Ausserdem solltest Du gegen 10Uhr eine email geschickt bekommen haben (root, wenn es /etc/crontab ist, der user, wenn es mit 'crontab -e' erzeugt wurde). Ist davon was eingetreten?
 
Hallo,
nein, habe keine Mail bekommen.
das komische ist, das meine andere Crontabs funktionieren.

55 23 * * * /srv/forum_db_backup.sh
50 23 * * * /srv/backup.sh
12 10 * * * /srv/send.sh

das backup.sh läuft. es wird auch ein Backup erstellt.
Auch das Datenbank backup...

habe als ich die angelegt habe aber auch keine Mail bekommen.
 
Hallo

Wenn es in der crontab des Users läuft, dann setzte einfach die PATH-Variable richtig, oder rufe im Script alle Programme mit vollem Pfad auf.
Scripte unter cron kennen nämlich die Umgebungsvariablen des Users nicht, solang dieser nicht in der crontab definiert ist.
In 99% aller Fälle wenn Scripte nur unter crontab nicht laufen, ist das der Grund. ;)

Gruß Wolfgang
 
da muss ich noch mal ne doofe frage stellen,
wie mache ich das mit dem PATH dann?

habe die crons bisher immer unter crontab -e erstellt.
Wo muss ich das mit dem PATH dann angeben?
Kannst du mir ein Beispiel posten?
 
Du definierst einfach oberhalb deiner Tabelle diese Variable.

PATH=/usr/bin:/usr/local/bin

Das ist nur ein Beispiel, was du deinen Gegebenheiten anpassen musst.
man crontab sagt dir mehr dazu. ;)
Wie dein PATH beim user gesetzt ist, kannst du in der Shell ausgeben lassen
echo $PATH


Gruß Wolfgang
 

Ähnliche Themen

Crontab und Scripts - Problem

Shellskript - Fehler in Cron

Windows clients können nicht mehr auf lange laufendes System zugreifen

dovecot und postfix Konfiguration Problem

Debian squeeze, Webmin, Samba Freigaben

Zurück
Oben