Ngrok开机自启动 有些用户需要开机随系统启动服务,本文将讲解如何在Linux下实现开机自动启动Ngrok客户端。 本文支持Ubuntu、树莓派、Centos7以下、Debian系列的系统。 如果Centos系统没有安
Ngrok开机自启动有些用户需要开机随系统启动服务,本文将讲解如何在Linux下实现开机自动启动Ngrok客户端。 本文支持Ubuntu、树莓派、Centos7以下、Debian系列的系统。 如果Centos系统没有安装start-stop-daemon请看 Centos安装 start-stop-daemon 操作步骤
1、下载客户端这一步就都不用说了大家都知道怎么操作。下载完成之后将客户端执行文件移动到 /use/local/bin 目录下并给予可执行权限。 sudo mv sunny /usr/local/bin/sunny sudo chmod +x /usr/local/bin/sunny 2、编写启动脚本sudo vim /etc/init.d/sunny /etc/init.d/sunny 启动脚本代码#!/bin/sh -e ### BEGIN INIT INFO # Provides: ngrok.cc # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: autostartup of ngrok for Linux ### END INIT INFO NAME=sunny DAEMON=/usr/local/bin/$NAME PIDFILE=/var/run/$NAME.pid [ -x "$DAEMON" ] || exit 0 case "$1" in start) if [ -f $PIDFILE ]; then echo "$NAME already running..." echo -e "\033[1;35mStart Fail\033[0m" else echo "Starting $NAME..." start-stop-daemon -S -p $PIDFILE -m -b -o -q -x $DAEMON -- clientid 隧道id || return 2 echo -e "\033[1;32mStart Success\033[0m" fi ;; stop) echo "Stoping $NAME..." start-stop-daemon -K -p $PIDFILE -s TERM -o -q || return 2 rm -rf $PIDFILE echo -e "\033[1;32mStop Success\033[0m" ;; restart) $0 stop && sleep 2 && $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0
3、测试可执行代码sudo chmod 755 /etc/init.d/sunny sudo /etc/init.d/sunny start sudo /etc/init.d/sunny start #启动 sudo /etc/init.d/sunny stop #停止 sudo /etc/init.d/sunny restart #重启 4、设置开机启动
cd /etc/init.d sudo update-rc.d sunny defaults 90 #加入开机启动 sudo update-rc.d -f sunny remove #取消开机启动
sudo chkconfig --add sunny #添加系统服务 sudo chkconfig --del sunny #删除系统服务 sudo chkconfig --list #查看系统服务 sudo chkconfig sunny on #设置开机启动 sudo chkconfig sunny off #设置取消启动 service sunny start #启动 service sunny stop #关闭 service sunny restart #重启 Centos安装 start-stop-daemonwget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz tar -xzvf apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz # 然后进入解压之后的路径 一直 cd 到start-stop-daemon.c在的目录 cc start-stop-daemon.c -o start-stop-daemon cp start-stop-daemon /usr/bin/start-stop-daemon 同理: sudo vim /etc/init.d/frpc_linux_arm #!/bin/sh -e ### BEGIN INIT INFO # Provides: www.natfrp.com # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: autostartup of natfrp for Linux ### END INIT INFO NAME=frpc_linux_arm DAEMON=/usr/local/bin/$NAME PIDFILE=/var/run/$NAME.pid [ -x "$DAEMON" ] || exit 0 case "$1" in start) if [ -f $PIDFILE ]; then echo "$NAME already running..." echo -e "\033[1;35mStart Fail\033[0m" else echo "Starting $NAME..." start-stop-daemon -S -p $PIDFILE -m -b -o -q -x $DAEMON -- -t 您的ID -s 主机通道id || return 2 echo -e "\033[1;32mStart Success\033[0m" fi ;; stop) echo "Stoping $NAME..." start-stop-daemon -K -p $PIDFILE -s TERM -o -q || return 2 rm -rf $PIDFILE echo -e "\033[1;32mStop Success\033[0m" ;; restart) $0 stop && sleep 2 && $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0 测试可执行代码sudo chmod 755 /etc/init.d/sunny sudo /etc/init.d/frpc_linux_arm start sudo /etc/init.d/frpc_linux_arm start #启动 sudo /etc/init.d/frpc_linux_arm stop #停止 sudo /etc/init.d/frpc_linux_arm restart #重启 |