小练最近在研究私有云,发现 Seafile 的自启动容易因为 MySQL/MariaDB 未启动完成而失败,所以在网上搜索了问题之后,结合多篇文章和自己的实际经验,得出了一个比较好的自启动方法。
首先为了更方便使用启动命令,我们添加以下软连接:
ln -s {path_to_seafile}/seafile/seafile-server-latest/seafile.sh /usr/bin/seafile
ln -s {path_to_seafile}/seafile/seafile-server-latest/seahub.sh /usr/bin/seahub
然后在 /etc 目录下创建一个 seafile.sh 脚本(www是运行的用户名),内容如下:
sleep 10
sudo -u www seafile start > /tmp/seafile.init.log 2>&1
sudo -u www seahub start > /tmp/seahub.init.log 2>&1
同时运行以下命令赋予该脚本运行权限:
chmod +x /etc/seafile.sh
最后将以下内容添加到 /etc/rc.local:
sh /etc/seafile.sh
因为 Linux 貌似正在逐渐弃用 rc.local ,所以默认这个脚本是没有运行权限的,我们给它加上:
chmod +x /etc/rc.local
chmod +x /etc/rc.d/rc.local
感谢 Seafile开机启动失败的解决办法 提供的帮助。