Eu tenho o AWS EC2 com instância do Ubuntu Server 16.0.4 em execução e quero ter certeza de que há um script executado toda vez que a instância for reiniciada ou o Ubuntu for reiniciado.
Eu procurei por toda a internet e pareceu muito fácil - apenas mude /etc/rc.local
e isso deve funcionar. Eu fiz isso e isso não acontece.
/etc/rc.local
file - removido -e em #!/bin/sh
e apenas uma linha que executa o script (EDIT)
#!/bin/sh
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo RC_LOCAL
sh /home/ubuntu/scripts/boot.sh
exit 0
permissões: -rwxr-xr-x 1 root root 339 Nov 7 10:04 rc.local
e meu arquivo boot.sh
:
#!/bin/sh
echo SYSTEM_BOOT
~/xxx/xxx/xxx console &
sudo ./xxx/xxx/xxx.sh
permissões: -rwxrwxr-x 1 ubuntu ubuntu 92 Nov 7 09:17 boot.sh
O mais estranho é que eu posso rodar /etc/rc.local
e boot.sh
é chamado e tudo é como eu queria que fosse, mas lá não é executado quando eu executo sudo reboot
e conecto ao AWS via SSH para o próximo tempo.
EDITAR:
Depois de sudo reboot
e conectando usando ssh:
%código%
Eu tenho:
'Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1039-aws x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
62 packages can be updated.
0 updates are security updates.
Last login: Tue Nov 7 10:22:38 2017 from 157.25.99.66'
ubuntu@ip-xx-xx-xx-xx:~$