2017-02-28 2 views
0

Ich habe den folgenden Code in meinem root-Cron-Datei: PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 45 12 * * * /home/ben/MetaBackup/metabackup.sh 2>&1 >/dev/null | slacktee.sh -t "Metabase Backup Error" -a "danger"Shell-Skript wird nicht in cron als root ausführen

slacktee.sh wird in/usr/local/bin und/usr/bin aber wenn ich diese laufen metabackup.sh läuft in Ordnung, aber slacktee.sh nicht. Ich habe absoluter Standort für slacktee auch versucht, aber das hat nicht funktioniert. Die verwirrende Sache ist, dass ich genau die gleichen Zeilen in meinem Benutzer Crontab und Slacktee funktioniert gut. Was mache ich falsch? Oder ist das ein Problem mit Slackee, dass ich dort erhöhen muss?

EDIT: slacktee finden Sie hier: https://github.com/course-hero/slacktee

Antwort

0

Du stdout und stderr von metabackup.sh auf/dev/null umgeleitet, so dass ich denke wirklich keine Ausgabe Eingang slacktee.sh und sein Standard verrohrt ist, leer.

Versuchen Entfernen > /dev/null

+0

Das ist nicht das Problem, da ich versucht hatte, kochend alles slacktee.sh. Allerdings fand ich das Problem innerhalb von slacktee.sh. Es ist nicht darauf ausgelegt, mit einem anderen Konto als demjenigen verwendet zu werden, mit dem es installiert wurde, da es die Konfiguration mit der URL erstellt, mit der im Ausgangsverzeichnis des Benutzers "slack" kommuniziert werden kann. Dies war für root nicht verfügbar. Also habe ich es als root installiert. – cheesemarathon

0

ich mit gile zustimmen!

Wenn keine Ausgabe erfolgt, kann Slacktee nichts drucken.

Wenn es immer noch nicht funktioniert, versuchen Profil in Ihrem Befehl zu laden:

45 12 * * * . ~/.profile;/home/ben/MetaBackup/metabackup.sh 2>&1 | slacktee.sh -t "Metabase Backup Error" -a "danger" 

Natürlich passen die Datei je nachdem, ob Sie sind auf bash oder ksh (.profile oder .bash_profile)

Vergessen Sie nicht das "." Vor Ihrer .profile-Datei.

Ich hoffe, es wird helfen.

0

Höchstwahrscheinlich findet Cron nicht in seinem Pfad. Sie legen PATH für den ersten Befehl fest, aber diese Einstellung gilt nicht für den Befehl nach der Pipe.

Versuchen Sie den vollständigen Pfad zum slacktree mit:

... | /usr/local/bin/slacktee.sh -t "Metabase Backup Error" -a "danger" 
Verwandte Themen