在树莓派上用 rc.local 开机启动 resilio 的程序文件
#!/bin/sh -e
/home/pi/rslsync --webui.listen 0.0.0.0:8888 &
exit 0
(这是对我来说在方便简单的开机启动方法,而且这样运行是 root,可以方便添加任何文件夹)
问题是 rslsync 会意外终止运行
我只能重启解决
所以有什么适合我现在情况的方法
令 rslsync 保持运行呢
谢谢各位!
docker run --restart=always
apt-get install supervisor
写个脚本检查 rslsync 是否运行,如果没有运行则启动。添加到 crontab 中,5 分钟执行一次。
這個腳本主要用到哪個命令啊?
难道不是 ps 吗, ps 之后 grep 下进程命,没有就说明程序挂了
自己写个 systemd 的 service 启动脚本
這過對我來說太複雜了
這個 ps 我會寫,那運行 resilio 怎麼寫呢?
我測試過 resilio 在不同用戶下啓動,web 頁裏的 設置 /文件夾 都不一樣
rc.local 說是 root 用戶執行
我在樹莓派 sudo su 之後執行 resilio, 並沒有讀回來設置
所以很困擾
pm2
systemd
supervisor 最高
http://supervisord.org/installing.html/>http://supervisord.org/running.html#adding-a-program
systemd:
Restart=Always
用 systemd
vim /lib/systemd/system/rslsync.service
[Unit]
Description=rslsync
After=network.target
[Service]
ExecStart=/etc/resiliosync/rslsync --config /etc/resiliosync/sync.conf --nodaemon
[Install]
WantedBy=multi-user.target
自己用的没挂过,如果会挂掉就加
Restart=Always
是不是我在 supervisord 裏配置了 resilio 啓動,就不需要 rc.local 了?
是的 启动 supervisord 就行了
Systemd + 1
楼主有两个选择,楼上已经说过了,要么用 docker 跑而不必写脚本。要么用 supervisor 自己启动。
append 了一個腳本,應該加在 sudo crontab 還是 crontab 呢