bash - force - service network restart centos
¿Cómo detectar si apt-get requiere un reinicio con Bash? (3)
Estoy escribiendo un script bash (para sistemas operativos basados en apt-get) que automatiza el proceso de instalación de varios programas. En este proceso ejecuto "apt-get -fy update" y "apt-get -fy upgrade" a veces. En el proceso de actualización, ocasionalmente, se requiere un reinicio.
Mi pregunta: ¿hay alguna forma de probar si el sistema solicita un reinicio después de ejecutar "apt-get -fy upgrade"? Estoy intentando escribir el script para que se ejecute de principio a fin sin ninguna intervención humana.
Gracias.
No recuerdo si apt-get
realmente te da un mensaje con un formato predecible que te informa si es necesario reiniciar, pero si lo hace, simplemente puedes verificar la salida, por ejemplo, algo como apt-get -fy update | grep -q ''fill in restart message pattern'' && reboot
apt-get -fy update | grep -q ''fill in restart message pattern'' && reboot
.
Otra alternativa probablemente menos confiable es utilizar checkrestart
del paquete debian-goodies
.
Si haces un
apt-get -fy update && shutdown -r now
respetará el orden y se actualizará hasta que finalice y finalmente reiniciará su servidor.
Use el archivo / var / run / reboot-required que hace exactamente lo que quiere. Así que tendremos esto:
apt-get update && apt-get -fy upgrade && [ -f /var/run/reboot-required ] && shutdown -r now