
Ich versuche, einen Cron-Job auszuführen, der ein Skript als Benutzer mit crontab -e auf Ubuntu Server 16.04 LTS ausführt. Das Skript befindet sich in /data/autoremove.sh:
!/usr/bin/env bash
wenn ping -q -c 1 -W 1 1.1.1.1 >/dev/null; dann scp /data/Data* [email geschützt]:/data && rm data* sonst echo "funktioniert nicht" fi
und der Cronjob wird mit dem Benutzer „user“ konfiguriert:
*/1 * * * * /data/autoremove.sh>/dev/null 2> ~/cron.err
.
Ich habe versucht, sowohl a SHELL=/bin/bash
als auch a PATH=
zur Crontab und zum Skript hinzuzufügen, habe bestätigt, dass Cron ausgeführt wird, und habe versucht, es auszuführen, ohne einen Benutzer anzugeben. Das Skript funktioniert, wenn es entweder als Root oder als Eigentümer ausgeführt wird.
Der Fehler, den ich erhalte, liegt daran, dass /bin/bash: user: command not found'
ich mehrere Artikel auf den verschiedenen Stacks-Sites durchgesehen habe und kein Glück hatte, es zum Laufen zu bringen.