Hallo zusammen
Wie kann man ein Shell-Skript beim starten automatisch ausführen? Irgendwie funktioniert das nicht, einfach nach /etc/init.d/ kopieren mit mit chmod +x flaggen..?
Shell-Skript beim starten automatisch ausführen..? [Gelöst]
Shell-Skript beim starten automatisch ausführen..? [Gelöst]
Zuletzt geändert von jmar83 am 09.12.2019 16:35:56, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan
Re: Shell-Skript beim starten automatisch ausführen..?
Es geht um folgendes Script:
...mit dem Dienst hat es zwar nun geklappt, aber zum Zeitpunkt der Ausführung scheint das System auf einem niedrigen Runlevel zu sein, ohne Netzwerk etc. Wie sollt also curl die URL in die Datei ineinschreiben?
Wüsste jemand eine Lösung?
Code: Alles auswählen
GNU nano 2.9.8 ./iptables_custrules.sh
#!/bin/sh /etc/rc.common
START=10
STOP=15
start() {
set -x && sleep 30 && rm /etc/init.d/public_ip.txt > /dev/null 2>&1
wget -qO- https://api.ipify.org > /etc/init.d/public_ip.txt
for IP in $(cat /etc/init.d/public_ip.txt); do iptables -t nat -A PREROUTING -d $IP -m tcp -p tcp -$
iptables -t nat -A POSTROUTING -d 192.168.1.21 -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
# rm -f /etc/init.d/public_ip.txt
}
stop() {
rm /etc/init.d/public_ip.txt > /dev/null 2>&1
}
...mit dem Dienst hat es zwar nun geklappt, aber zum Zeitpunkt der Ausführung scheint das System auf einem niedrigen Runlevel zu sein, ohne Netzwerk etc. Wie sollt also curl die URL in die Datei ineinschreiben?
Wüsste jemand eine Lösung?
Freundliche Grüsse, Jan
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Shell-Skript beim starten automatisch ausführen..?
Du koenntest einen Eintrag in die /etc/crontab mit @reboot setzen.
Hilf mit unser Wiki zu verbessern!
Re: Shell-Skript beim starten automatisch ausführen..?
habe es nun so gelöst, wird erst ab runlevel 5 ausgeführt. Das ist sicher genug spät...
Das Skript dient übrigens dazu, "NAT Loopback" auf dem Router vom Provider zu umgehen...
Code: Alles auswählen
#!/bin/sh /etc/rc.common
# chkconfig: 5 9999 9999
START=9999
STOP=9999
start() {
set -x
# sleep 30
rm /etc/init.d/public_ip.txt > /dev/null 2>&1
wget -qO- https://api.ipify.org > /etc/init.d/public_ip.txt
for IP in $(cat /etc/init.d/public_ip.txt); do iptables -t nat -A PREROUTING -d $IP -m tcp -p tcp --
dport 80 -j DNAT --to-destination 192.168.1.21; done
iptables -t nat -A POSTROUTING -d 192.168.1.21 -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
# rm -f /etc/init.d/public_ip.txt
}
stop() {
rm /etc/init.d/public_ip.txt > /dev/null 2>&1
}
Das Skript dient übrigens dazu, "NAT Loopback" auf dem Router vom Provider zu umgehen...
Freundliche Grüsse, Jan