这是内容/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
命令执行了多次,该文件在ftp服务器上结束了2到3次,当我查看进程时,似乎有多个autossh实例正在运行...不确定这是怎么回事autossh可以执行任何操作,但可以肯定curl不应该多次上传文件。
我的直觉是整个sshstart
脚本运行了多次,但我不明白为什么。
我尝试在引导时搜索有关网络设置过程的详细信息,但我只能找到interfaces文件的语法信息。
有人可以帮忙吗?
谢谢。
---编辑---
按照下面的建议,我已经按照如下方式修改了我的接口文件(删除了张贴后的空白行):
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次:(这是怎么回事?