NAT123内网转发LINUX环境开机自动启动防掉线脚本

来源:互联网 发布:站长工具端口 编辑:程序博客网 时间:2024/05/01 17:53

本文来自NAT123官网,原文链接

因为博主的内网转发服务的物理服务器为树莓派并挂在家里,担心断电导致树莓派重启后,NAT123无法正常使用,特此记录。

除了用特定的命令登录实现开机自动启动,同样可以使用脚本方式实现。

自启动的命令分成三层,local.rc执行,autostart脚本检测,expect脚本负责自动登录


一、写自动登录脚本expect

需要安装expect库
sudo apt-get install expect

新建脚本expect
sudo nano /mnt/expect.sh

写入以下内容
#!/bin/bash

username="填你的用户名"
mypwd="填你的密码"
cmdnat123="sudo mono /mnt/nat123linux.sh"

expect -c"
spawn $cmdnat123
while { 1 } {
expect {
\"press any key to Continue\" {
send \"\r\";
}
\"enter your nat123 username\" {
send \"$username\r\";
}
\"enter your nat123 password\" {
send \"$mypwd\r\";
}
send \"$mypwd\r\";
}
eof {
send \"exit\r\";
}
}
sleep 5;
}
"
echo "Exit ..."
sleep 5

二、写检测脚本autostart
新建脚本文件autostart
sudo nano /mnt/autostart.sh

写入以下内容

#!/bin/bash

while true

do
ps aux | grep nat123 | grep -v grep
if [ $? -eq 0 ];then
sleep 600
else
sudo screen -S nat123 bash /mnt/expect.sh
fi
done

三、写入开机启动项
编辑rc.local文件
sudo nano /etc/rc.local


在文件中间加入以下命令
sudo bash /mnt/autostart.sh
exit 0

从此再也不怕掉线停电断线重启了-_-

0 0