Seafile开机启动失败的解决办法

由于 seafile 依赖于 mysql (或其他数据库程序),在通过 update-rc.d 设置为开机启动后,开机时可能 mysql 还未启动结束,系统就调用了 seafile 的启动服务,这时就会出现启动失败的情况

更新 2016.12.9

编辑服务脚本

在 # Required-Start: 字段后加入 mysql ,如下:

注意关键行。表示该服务依赖于 mysql 服务,这样就会在 mysql 服务启动后才启动 seafile 服务。

重新加入开机启动

(在 debian6中 已经用 insserv 来替代 update-rc.d 管理开机启动)

接着重启系统,看看是否已经正常启动。


以下为延迟启动方法

检查 log 如下(/seafile/logs/seafile.ini.log)

使用 update-rc.d 设置启动顺序依然不行,只能另辟蹊径使用脚本延迟启动。

先建立一个脚本 delayrun.sh

延迟10秒再启动 service seafile-server 服务,这个命令的前提是 seafile-server 这个服务已经被添加到update-rc.d中管理(按照官方部署方案走的话应该都加了)
然后将该脚本赋予运行权限。

加入开机启动 /etc/rc.local,在 exit 0 前面加入调用代码,如下

注意修改 delayrun.sh 的路径。

由于延迟启动脚本有 sleep10秒的效果,所以必须在启动命令后面加上 & 符号,表示该命令执行在一个单独的进程中,不会影响后续的程序运行。
重起系统,不出意外已经可以正常启动seafile服务了。
这时可以将 seafile-server 服务从 update-rc.d 管理中去处掉了,反正也启动不了。用命令或者 sysy-rc-conf 工具都可以。

tips:

使用这个方法前可以尝试用 update-rc.d 调整 seafile-server 的启动顺序,如果不行再使用延迟启动的方法。

update-rc.d 调整启动顺序

调整 mysql 启动顺序

原创文章,转载请注明: 转载自 Tshine's Blog

本文链接地址: Seafile开机启动失败的解决办法

《Seafile开机启动失败的解决办法》有2个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注