Đây là nội dung của /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
Và sshstart
là một kịch bản có nội dung sau:
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
Khi máy khởi động lại, curl
lệnh được thực thi nhiều lần, tệp kết thúc 2 hoặc 3 lần trên máy chủ ftp và khi tôi nhìn vào các quy trình, có vẻ như có nhiều phiên bản tự động chạy ... Không chắc đây là cách autossh có làm gì hay không, nhưng chắc chắn curl không nên tải tệp lên nhiều lần.
Linh cảm của tôi là toàn bộ sshstart
kịch bản được chạy nhiều lần nhưng tôi không hiểu tại sao.
Tôi đã thử tìm kiếm chi tiết về quy trình thiết lập mạng khi khởi động nhưng tất cả những gì tôi có thể tìm thấy là thông tin cú pháp cho tệp giao diện.
Ai đó có thể giúp tôi không?
Cảm ơn bạn.
--- Chỉnh sửa ---
Như được đề xuất dưới đây, tôi đã sửa đổi tệp giao diện của mình như sau (đã xóa các dòng trống phía trên sau khi đăng ký):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/sshstart
Và thêm dòng sau vào sshstart:
echo $(date)>>/run/shm/sshstart.log
Đây là nội dung /run/shm/sshstart.log
sau khi khởi động lại:
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
Vì vậy, nó đã được chạy 4 lần :( chuyện gì đang xảy ra?
echo $(date)
hơi khó xử và gián tiếp. Cũng có thể chỉ đánh vần là như date
. Tương tự như Giải vô dụng sử dụng mèo .