Estou tentando reiniciar vários servidores Ubuntu via script quando uma reinicialização é necessária.
Quando executo o bash com o teste como um comando não interativo, obtenho o resultado de que nenhuma reinicialização é necessária, mesmo que o arquivo /var/run/reboot-required
exista.
usera@client:~$ ssh server02 bash -c 'test -f /var/run/reboot-required && echo sudo reboot || echo "$(hostname): no reboot required"'
server02: no reboot required
Quando entro no mesmo servidor via SSH e executo meu teste manualmente recebo o resultado correto, sudo reboot
.
usera@client:~$ ssh server02
Last login: Tue Jun 14 08:03:00 2022 from 146.140.16.1
usera@server02:~$ test -f /var/run/reboot-required && echo sudo reboot || echo "$(hostname): no reboot required"
sudo reboot
usera@server02:~$ bash -c 'test -f /var/run/reboot-required && echo sudo reboot || echo "$(hostname): no reboot required"'
sudo reboot
O que preciso mudar para obter o resultado correto?