Voici le contenu de /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
Et sshstart
est un script avec les éléments suivants:
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
Lorsque la machine redémarre, la curl
commande est exécutée plusieurs fois, le fichier se termine 2 ou 3 fois sur le serveur ftp et quand je regarde les processus, il semble qu'il y ait plusieurs instances d'exécution automatique ... Je ne sais pas si c'est comme ça autossh fait des choses ou non, mais à coup sûr curl ne devrait pas télécharger le fichier plusieurs fois.
Mon intuition est que le sshstart
script entier est exécuté plusieurs fois mais je ne comprends pas pourquoi.
J'ai essayé de rechercher des détails sur le processus de configuration du réseau au démarrage mais tout ce que j'ai pu trouver était des informations de syntaxe pour le fichier d'interfaces.
Quelqu'un peut-il aider s'il vous plaît?
Je vous remercie.
--- Modifier ---
Comme suggéré ci-dessous, j'ai modifié mon fichier d'interfaces comme suit (supprimé les lignes vides ci-dessus post-up):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
Et ajouté la ligne suivante à sshstart:
echo $(date)>>/run/shm/sshstart.log
Voici le contenu /run/shm/sshstart.log
après un redémarrage:
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
Donc ça a été couru 4 fois :( que se passe-t-il?
echo $(date)
est un peu maladroit et indirect. Autant épeler ça que date
. Similaire à Useless Use of Cat Award .