Script na automatické restartování serveru při ztrátě konektivity
Pokud potřebujete restartovat server pokaždé když ztratí konektivitu, můžete použít jednoduchý script.
Script kontroluje připojení každých 10 minut.
Do souboru přidáme script.
Soubor uložíme a zavřem.
Následně restartujeme a script už nám bude restartovávat server pokaždé když připojení vypadne.
Do souboru přidáme script
Soubor uložíme a zavřem.
Dále vytvoříme soubor /usr/lib/systemd/system/rc-local.service
a do souboru vložíme
Soubor uložíme a zavřem. Nastavíme spustitelný příznak pomocí
Následně stačí script zapnout a spustit.
Nyní pokaždé když vypadne konektivita se server automaticky restartuje.
Script kontroluje připojení každých 10 minut.
Pro následující kroky bude potřeba:
- Operační systém linux (Ubuntu, Debian, Arch linux)
- Textový editor (nano, vim)
- Sudo uživatele
Varianta rc.local
Za pomoci sudo uživatele a textového editoru upravíme soubor /etc/rc.localsudo nano /etc/rc.localDo souboru přidáme script.
#!/bin/sh
# /etc/rc.local: Local multi-user startup scriptwhile [ 1 ]; do
if [ -z "$(ping -c 1 www.google.com)" ]
then
shutdown -r now
fi
sleep 600
done
exit 0Soubor uložíme a zavřem.
Následně restartujeme a script už nám bude restartovávat server pokaždé když připojení vypadne.
Varianta systemd
Za pomoci sudo uživatele a textového editoru upravíme soubor /etc/rc.localsudo nano /etc/rc.localDo souboru přidáme script
#!/bin/sh
# /etc/rc.local: Local multi-user startup scriptwhile [ 1 ]; do
if [ -z "$(ping -c 1 www.google.com)" ]
then
shutdown -r now
fi
sleep 600
done
exit 0Soubor uložíme a zavřem.
Dále vytvoříme soubor /usr/lib/systemd/system/rc-local.service
sudo nano /usr/lib/systemd/system/rc-local.servicea do souboru vložíme
[Unit]
Description=/etc/rc.local compatibility
[Service]
Type=oneshot
ExecStart=/etc/rc.local
RemainAfterExit=yes
[Install]
WantedBy=multi-user.targetSoubor uložíme a zavřem. Nastavíme spustitelný příznak pomocí
chmod +x /usr/lib/systemd/system/rc-local.serviceNásledně stačí script zapnout a spustit.
sudo systemctl enable rc-local.service
sudo systemctl start rc-local.serviceNyní pokaždé když vypadne konektivita se server automaticky restartuje.