威联通的系统QTS虽然基于Linux开发,但是常规的Linux配置开机自动运行的方式不可用,因为关键位置你复制进去的文件重启之后会被删除。
但是在后台设置的地方看见了一个地方可以勾选“启动后运行用户自定义进程”的地方
先勾选上,但是autorun.sh只能查看编辑不了。
去官网搜素找到如下页面https://www.qnap.com.cn/zh-cn/how-to/faq/article/running-your-own-application-at-startup#Allow%20running%20autorun.sh%20during%20startup
本文测试用到的是ts-464c 所以截图这部分适合我,但是按它操作之后确实再去查看autorun.sh变了。重启之后我的自定义脚本也执了。但是安装的所有的威联通的服务都启动不了。登录ssh发现,官方让挂载的/tmp/config没有卸载掉。
其实我已经按照上面的命令去执行 umount /tmp/config了。经过一番折腾找到原因。威联通开机运行自定义脚本的正确做法如下
sudo mkdir /share/Public/autorun
sudo vim /share/Public/autorun/userautorun.sh
上面是创建一个自定的脚本,真正想要执行的内容写进去。然后系统的autorun.sh执行这个脚本。这样以后再有需要开机执行的就不用来回挂载了。直接往这个脚本里面加就可以了。例如我这个脚本里面就方式启动frpc的命令
我的命令用了screen这个后台运行,如果不用威联通会杀掉你的进程。反正我的版本会其他硬件版本没测试过。回到正题。现在我们还需要创建一个autorun.sh。所以执行以下命令
sudo vim /share/Public/autorun.sh
然后写入以下内容
#!/bin/sh
sh share/Public/autorun/userautorun.sh
然后执行官方的命令,重点来了,要在mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config 加转义。具体如下
sudo mount $(/sbin/hal\_app --get\_boot\_pd port\_id=0)6 /tmp/config #官方的命令增加转义
sudo mv /share/Public/autorun.sh /tmp/config #把autorun.sh 移动到挂载点
sudo chmod +x /share/Public/autorun.sh #增加可执行权限
sudo umount /tmp/config/ #一定不要忘了执行这个
以上命名执行完成,可以去配置后台那查看autorun.sh是否变更了。
一切正常就可以重新启动nas了。保证需要开机启动的程序会正常启动