搜狐汽车小程序

微信扫一扫

dotnet跨平台.

dotnet跨平台.

ta的内容丨0
大图模式
评论
点赞
分享
放大字

在香蕉派的树莓派系统上配置 Syncthing 自启动(暨 Linux 软件自启服务配置)

2020-09-01 07:45
362

在 香蕉派的 树莓派系统上配置 Syncthing 自启动

独立观察员 2020 年 1 月 19 日(2020年8月30日 更新)

首先做个名词解释,” 香蕉派” 是国内一款山寨 树莓派的硬件产品,” 树莓派系统” 指的是” raspberrypi”,而” Syncthing“则是一款多平台的 同步盘软件。

Syncthing 的安装和使用可参考网上的文章《 IT 之家学院:无需公网 IP,用树莓派搭建自己的私有云盘》,本文仅讨论如何在树莓派系统(Linux 系统)中将其配置为自启动。

从《 【教程】树莓派程序开机自启动方法总结》中,我们可以得知,在树莓派上设置自启大致有以下四种方法:

1、在 /etc/rc.local 文件中添加启动代码;

2、在 /etc/init.d 路径新建脚本;

3、配置随桌面启动;

4、使用 systemctl 设置服务。

之前我配置 frp (一款内网穿透软件) 时使用过方法 1,后来失效了,现在在用方法 4。神奇的是,这个 Syncthing 我使用方法 4 一直不成功,难道是要用方法 1 不成?

那就先打开 /etc/rc.local 看看,发现香蕉派似乎对其做了些其他工作 —— 将 /var/lib/ bananapi/bpi-autorun.d/bpi-autorun.sh 作为启动脚本:

那我们再打开 /var/lib/ bananapi/bpi-autorun.d/bpi-autorun.sh 看看:

其实就是依次启动 /var/lib/bananapi/bpi-autorun.d 目录下以”S” 开头并紧跟数字这样命名的脚本:

所以我们建立启动脚本 S90- syncthing.sh (别忘了赋予可执行权限):

#!/bin/bash sudo su - pi -c "exec /media/dlgcy/syncthing/syncthing"

我的 syncthing 是放在 /media/dlgcy/syncthing 目录下的,所以将 S90-syncthing.sh 也放在那里:

可以看到还有个 start-syncthing.sh 文件:

sudo cp ./S90-syncthing.sh / var/lib/bananapi/bpi-autorun.d/S90-syncthing.sh sudo / var/lib/bananapi/bpi-autorun.d/S90-syncthing.sh

这个是用于拷贝上面那个启动脚本到正确目录,保证下次开机能被调用到,并且顺便启动一下,供本次使用。

最后看看如此大费周章要启动的是什么吧:

2020 年 8 月 30 日更新:

经过一段时间的使用,发现上面说的方法有个问题,就是软件意外退出后无法自动重启。之前说用服务的方式一直没成功,最近在做《下载中转加速器 VPSDownloader.NET(.NET Core 程序部署到 Linux 系统)》的时候,加深了对 Linux 系统自启服务的理解,所以还是改为使用服务的方式启动吧。

本次新增四个文件,分别为直接运行脚本 start-direct.sh、后台运行脚本 start-background.sh、服务文件 syncthing.service、安装服务脚本 InstallService.sh,如下:

首先是直接运行脚本 start-direct.sh:

#!/bin/bash

sudo su - pi -c "exec /media/dlgcy/syncthing/syncthing"

然后是后台运行脚本 start-background.sh:

#! /bin/shcd/media/dlgcy/syncthing nohup ./start-direct.sh &

再次是服务文件 syncthing.service:

[Unit]Deion=Syncthing Service After=network.target

[Service]User=root Type=forking ExecStartPre=/bin/sleep 10ExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDExecStart=/media/dlgcy/syncthing/start-background.sh Restart=always RestartSec= 30StartLimitInterval= 20StandardOutput=/media/dlgcy/syncthing/log

[Install]WantedBy=multi-user.target

最后是安装服务脚本 InstallService.sh:

chmod+x ./start-direct.shchmod+x ./start-background.shtouch./logcp./syncthing.service /usr/lib/systemd/system/syncthing.service

systemctldaemon-reloadsystemctlenable syncthingsystemctlstart syncthingsystemctlstatus syncthing

使用时我们只需 cd 到相应的目录,然后执行以下命令即可(只需执行这一次):

sudo./InstallService.sh

执行成功:

这样即使程序意外退出了,也能自动重启。

Syncthing 的介绍文章可看知乎文章《(二十三) 小众但好用: Syncthing 把手机变成同步网盘》。

祝大家使用愉快!

声明: 本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。

回首页看更多汽车资讯

评论(174)
文明上网理性发言,请遵守《搜狐我来说两句用户公约》

0/100 发表评论

大白兔

把广告牌识别成车修复了吗?
昨天 01:45
黑龙江
回复

大白兔 小子

  • 大白兔TGXprpqJZGM

    • 大白兔TGXprpqJZGM

      把广告牌识别成车修复了吗?
    把广告牌识别成车修复了吗?
把广告牌识别成车修复了吗?
昨天 01:45
黑龙江
关闭回复
0/100 发表评论
查看更多 374 条评论

评论(374)

0/100 发表评论

{{item.userObj.user_name}} {{ item.parents[0].userObj.user_name }}

{{item.userObj.user_name}}

  • {{ item.parents[0].userObj.user_name }}

    {{ item.parents[0].content }}
{{ item.content }}
0/100 发表评论
查看更多 {{commentStore.commentObj.participation_sum}} 条评论