Aqui está o conteúdo de /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
E sshstart
é um script com o seguinte:
curl something something darkside send a file over ftps in the background &
/usr/bin/autossh -M 0 -f -N -o ServerAliveInterval=15 -o ServerAliveCountMax=3 -R 127.0.0.1:2005:127.0.0.1:22 -R 192.168.1.10:2006:192.168.2.110:1912 -L 127.0.0.1:5249:192.168.1.212:5249 username@17.16.15.2 -p 8080
Quando a máquina é reinicializada, o curl
comando é executado várias vezes, o arquivo termina 2 ou 3 vezes no servidor ftp e, quando olho para os processos, parece que há várias instâncias de execução automática ... Não tenho certeza se é assim autossh faz as coisas ou não, mas com certeza o curl não deve carregar o arquivo várias vezes.
Meu palpite é que o sshstart
script inteiro é executado várias vezes, mas não entendo o porquê.
Tentei procurar detalhes sobre o processo de configuração da rede na inicialização, mas tudo o que pude encontrar foram informações de sintaxe para o arquivo de interfaces.
Alguém pode ajudar por favor?
Obrigado.
--- Editar ---
Como sugerido abaixo, modifiquei meu arquivo de interfaces da seguinte forma (removemos as linhas vazias acima da postagem):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
E adicionou a seguinte linha ao sshstart:
echo $(date)>>/run/shm/sshstart.log
Aqui está o conteúdo de /run/shm/sshstart.log
após uma reinicialização:
Wed Oct 29 08:07:00 EDT 2014
Wed Oct 29 08:07:07 EDT 2014
Wed Oct 29 08:07:07 EDT 2014
Wed Oct 29 08:07:07 EDT 2014
Por isso, foi executado 4 vezes :( o que está acontecendo?
echo $(date)
é meio estranho e indireto. Poderia muito bem soletrar isso como date
. Semelhante ao Prêmio Uso Inútil do Gato .