Dies könnte daran liegen, dass Sie nicht im selben Ausführungskontext sind. Je nachdem, welche Shell Sie (adaptieren meine alte Schule .kshrc
) ausgeführt wird, müssen Sie den Befehl mit einem source /home/myuser/.kshrc
Präfix, wie unten:
*/5 * * * * source /home/myuser/.kshrc ; /usr/bin/wget "http://localhost:8080/sample/index.jsp" --post-data "data=$(nohup sqoop import --connect 'jdbc:sqlserver://localhost;username=username;password=password;database=database' --table table1 --target-dir /user/data/ -m 1)&dt=$(date)&user=$USER"
Wenn ich kann, dies auch einfacher zu jedem aussehen könnte, wenn Ihr Der Befehl könnte in ein kleines Skript eingebettet sein. Dies könnte verhindern dies möglicherweise irreführende nohup
Sie haben ... dann, wenn das Skript ist mycommand.sh
:
*/5 * * * * source /home/myuser/.kshrc ; /home/myuser/mycommand.sh
(wird gegeben Ihnen einen chmod u+x /home/myuser/mycommand.sh
tat Ausführungsrechte zu gewähren).
Funktioniert der Befehl, wenn Sie ihn manuell ausführen? Überprüfen Sie dies, um sicherzustellen, dass der Cron-Job fehlschlägt und nicht Ihr Befehl. Woher weißt du, dass es nicht läuft? Normalerweise werden Protokolle Ihnen sagen, ob der Cron lief oder nicht, beliebte Cron-Log-Speicherorte sind '/ var/log/cron','/var/log/messages' und '/ var/log/syslog'. – drewyupdrew