设备和系统
S905x3芯片盒子
Centos7.9(CentOS 7.9.2009 (AltArch) aarch64(Py3.7.8))
Debian/Armbian(Armbian 20.10 Buster aarch64(Py3.7.8))
RK3318芯片盒子
Debian/Armbian(Armbian 22.05.0-trunk Jammy aarch64(Py3.7.8))
//
以下内容以 Koishi
安装路径 /root/koishi-app/
为例说明。
//
如果你已经安装宝塔(www.bt.cn),请直接下拉到【宝塔-添加开机自启】
小白有条件的话还是建议装一个宝塔,维护和使用上会简单很多。
//
【SSH-添加开机自启】
首先使用SSH工具连接盒子,上传 koishi-start.sh
文件到 /root
目录。
koishi-start.sh.log (257 字节)(由于论坛不允许上传.sh或压缩文件,去掉后缀.log即可。)
或者自己在 /root
目录下创建 koishi-start.sh
文件:
vi koishi-start.sh
输入以下内容:
#!/bin/sh
ps -fe|grep node.*koishi |grep -v grep
if [ $? -ne 0 ] ;
then
echo “【Koishi】进程不存在,正在启动中…”
cd /root/koishi-app
nohup yarn start >/root/koishi.nohup.out 2>&1 &
else
echo “【Koishi】努力运行中…”
fi
/root/koishi.nohup.out
是后台进程的日志文件,使用以下指令可查看内容:
tail -f koishi.nohup.out
//
最后,ESC
,然后输入 :wq
保存退出。确保 koishi-start.sh
文件位于 /root
目录下。
//
Centos 添加开机自启,目标文件:
/etc/rc.d/rc.local
(系统版本不同位置可能有区别,自己核实文件位置)
//
vim编辑目标文件:
vim /etc/rc.d/rc.local
//
添加以下内容:
/root/koishi-start.sh
ESC
,然后输入 :wq
保存退出。
Centos 添加开机自启完成。
//
Debian/Armbian(与Centos一样,只是文件位置不同)目标文件:
/etc/rc.local
(系统版本不同位置可能有区别,自己核实文件位置)
//
vim编辑目标文件:
vim /etc/rc.local
//
添加以下内容:
/root/koishi-start.sh
ESC
,然后输入 :wq
保存退出。
Debian/Armbian 添加开机自启完成。
//
【SSH-添加计划任务】Centos/Debian通用
查看任务列表:
crontab -l
//
添加任务:
crontab -e
输入以下内容:
*/30 * * * * /root/koishi-start.sh >> /root/koishi-cron.log 2>&1
每30分钟执行1次。
/root/koishi-cron.log
为计划任务的日志文件。
参考资料 crontab执行时间计算 - 在线工具 (tool.lu)
添加完成后,好像是不需要重启cron,到点即自动执行。
【宝塔-添加开机自启】
宝塔相对来说简单的多。
首先,使用宝塔自带的【文件】管理器打开 /root
目录,上传文件:
koishi-start.sh.log (257 字节)(由于论坛不允许上传.sh或压缩文件,去掉后缀.log即可。)
确保 koishi-start.sh
文件位于 /root
目录下。
然后修改开机自启文件 rc.local
。
Centos目标文件:
/etc/rc.d/rc.local
Debian/Armbian目标文件:
/etc/rc.local
//
【文件】管理器找到目标文件,双击或右键编辑,添加以下内容:
/root/koishi-start.sh
保存即可。
尽量不要使用软件商店里的【系统启动项】,我Centos测试未通过。
//
【宝塔-添加计划任务】Centos/Debian通用
使用宝塔自带的【计划任务】,按下图输入即可。当koishi进程不存在时,会自动运行Koishi,每30分钟执行1次。
//
【其它补充】
为什么 koishi-start.sh
文件要放在 /root
目录下?
我在实际测试的时候发现,放在 koishi-app
目录的 .sh
文件会莫名消失,不知道是哪里出的问题,所以保险起见(省事)就放在 /root
目录下吧
//
你可能会用到的一些指令:
进入 koishi-app
目录
cd koishi-app
//
查看 nohup
后台进程 koishi
的运行日志
tail -f koishi.nohup.out
//
查看 koishi
进程
ps -fe|grep node.*koishi |grep -v grep
//
查看 gocq
进程
ps -fe|grep node.*go-cqhttp |grep -v grep