Oto treść /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
I sshstart
jest skryptem z następującymi elementami:
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
Gdy komputer uruchomi się ponownie, curl
polecenie jest wykonywane wielokrotnie, plik kończy się 2 lub 3 razy na serwerze ftp, a kiedy patrzę na procesy, wydaje się, że jest wiele wystąpień autossh uruchomionych ... Nie jestem pewien, czy w ten sposób autossh robi rzeczy lub nie, ale na pewno curl nie powinien przesyłać pliku wiele razy.
Mam przeczucie, że cały sshstart
skrypt był uruchamiany wiele razy, ale nie rozumiem dlaczego.
Próbowałem szukać szczegółów na temat procesu konfiguracji sieci podczas rozruchu, ale jedyne, co mogłem znaleźć, to informacje o składni pliku interfejsów.
Czy ktoś może pomóc?
Dziękuję Ci.
--- Edytuj ---
Zgodnie z sugestią poniżej zmodyfikowałem plik interfejsów w następujący sposób (usunąłem puste linie powyżej post-up):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
I dodał następujący wiersz do sshstart:
echo $(date)>>/run/shm/sshstart.log
Oto treść /run/shm/sshstart.log
ponownego uruchomienia:
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
Zostało to uruchomione 4 razy :( co się dzieje?
echo $(date)
jest dość niezręczne i pośrednie. Równie dobrze może to przeliterować date
. Podobne do nagrody za bezużyteczne wykorzystanie kota .