Ich habe das folgende Bash-Skript geschrieben, das eine Datei erstellen soll, wenn die UFW-Regeln auf einem Server geändert werden. Das Vorhandensein dieser Datei wird dann mit Zabbix überprüft.Bash-Datei nicht korrekt abgeschlossen
#!/bin/bash
file="/tmp/ports.txt"
file_open="/tmp/open_ports.txt"
md5_file=$(md5sum /tmp/ports.txt | awk '{ print $1 }')
md5_file_open=$(md5sum /tmp/open_ports.txt | awk '{ print $1 }')
file_diff="/tmp/ports_diff"
if [[ ! -f $file ]]; then
touch $file && sudo ufw status|grep ALLOW > $file
fi
if [ -f $file_diff ];then
rm $file_diff
fi
sudo ufw status|grep ALLOW > $file_open
if [ $md5_file != $md5_file_open ];then
touch $file_diff
fi
Was ich finde, ist, dass manchmal die Datei tut erstellt oder gelöscht werden, wenn es sein sollte, aber wenn ich den Befehl, den 2. oder 3. Mal ohne weiteres Wechsel laufen, tut es.
Bitte helfen.
Dank
Ist 'sudo' für den bestimmten Benutzer so konfiguriert, dass er ohne Passwort ausgeführt wird? – sjsam
Ja, Befehl führt feine manuell aus. – user2099762