นี่คือเนื้อหาของ/etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
และsshstart
เป็นสคริปต์ที่มีดังต่อไปนี้:
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
เมื่อรีบูตเครื่องcurl
คำสั่งจะถูกดำเนินการหลายครั้งไฟล์จะจบลงที่ 2 หรือ 3 ครั้งบนเซิร์ฟเวอร์ ftp และเมื่อฉันดูกระบวนการที่ดูเหมือนว่ามีการใช้งาน autossh หลายอินสแตนซ์อยู่ ... ไม่แน่ใจว่านี่เป็นอย่างไร autossh ทำสิ่งต่าง ๆ หรือไม่ แต่แน่นอนว่า curl ไม่ควรอัปโหลดไฟล์หลายครั้ง
ลางสังหรณ์ของฉันคือsshstart
สคริปต์ทั้งหมดทำงานหลายครั้ง แต่ฉันไม่เข้าใจว่าทำไม
ฉันพยายามค้นหารายละเอียดเกี่ยวกับกระบวนการตั้งค่าเครือข่ายตอนบู๊ต แต่สิ่งที่ฉันพบคือข้อมูลไวยากรณ์สำหรับไฟล์อินเตอร์เฟส
ใครช่วยได้บ้าง
ขอบคุณ.
--- แก้ไข --- ดังต่อไปนี้
ตะโกนแนะนำฉันได้แก้ไขไฟล์อินเตอร์เฟซของฉันดังต่อไปนี้ (ลบบรรทัดว่างด้านบนโพสต์ขึ้น):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
และเพิ่มบรรทัดต่อไปนี้ใน sshstart:
echo $(date)>>/run/shm/sshstart.log
นี่คือเนื้อหาของ/run/shm/sshstart.log
หลังจากรีบูตเครื่อง:
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
มันวิ่งไปแล้ว 4 ครั้ง :( เกิดอะไรขึ้น?
echo $(date)
ค่อนข้างอึดอัดและโดยอ้อม อาจจะสะกดได้เช่นdate
กัน คล้ายกับการใช้ประโยชน์ของรางวัลแมว