Hallo zusammen,
für meinen Asterisk habe ich ein Shellskript angelegt, das IP-Adressen aus einer MySql-Datenbank liest und diese dann freigibt oder sperrt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/bash HOSTNAME=******* USERNAME=******* PASSWORD=******* IP_LIST=`mysql --user=$USERNAME --password=$PASSWORD --host=$HOSTNAME -Bse 'SELECT last_ip FROM db_teambox_projects.ip_list WHERE today < DATE(NOW());'` for IP in $IP_LIST; do ufw delete allow from $IP done mysql --user=$USERNAME --password=$PASSWORD --host=$HOSTNAME -Bse 'DELETE FROM db_teambox_projects.ip_list WHERE today < DATE(NOW())'; IP_LIST=`mysql --user=$USERNAME --password=$PASSWORD --host=$HOSTNAME -Bse 'SELECT last_ip FROM db_teambox_projects.ip_list WHERE today = DATE(NOW());'` for IP in $IP_LIST; do ufw allow from $IP #echo $IP done |
Ich bin als Benutzer angemeldet und wechsele dann per sudo nach root. Wenn ich das Skript manuell laufen lasse funktioniert es tadellos. Lasse ich es aber als cronjob laufen (auch wieder mit root Rechten), kommt immer der Fehler ufw: command not found
Hat jemand eine Idee woran das liegt oder kennt jemand vielleicht einen besseren Weg?
Bearbeitet von rklm:
Codeblock. Bitte beachte Forum/Syntax und nutze die Vorschaufunktion!