Centos/Debian/Armbian 添加开机自启和计划任务监听koishi是否成功运行

设备和系统

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

image

ESC,然后输入 :wq 保存退出。

Centos 添加开机自启完成。

//

Debian/Armbian(与Centos一样,只是文件位置不同)目标文件:

/etc/rc.local

(系统版本不同位置可能有区别,自己核实文件位置)

//

vim编辑目标文件:

vim /etc/rc.local

//

添加以下内容:

/root/koishi-start.sh

image

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测试未通过。
image

//

宝塔-添加计划任务】Centos/Debian通用

使用宝塔自带的【计划任务】,按下图输入即可。当koishi进程不存在时,会自动运行Koishi,每30分钟执行1次。

image

//

【其它补充】

为什么 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

3 个赞

很不错的教程

就是没太明白文章里的 // 是什么意思,如果是分割线的话论坛有专门的分割线的,用 --- 就行了

1 个赞