树莓派 安装 Syncthing 自建私有云盘 照片备份 备份手机相册

用下面命令可以安装 syncthing 但是版本是v1.0.0 手机端也要装这个版本不然后提示错误

unknown address scheme "quic"
received record with version 301 when expecting version 303

sudo apt-get install syncthing

pi@pi:~ $ sudo apt-get install syncthing
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  syncthing
0 upgraded, 1 newly installed, 0 to remove and 328 not upgraded.
Need to get 0 B/5,241 kB of archives.
After this operation, 13.9 MB of additional disk space will be used.
Selecting previously unselected package syncthing.
(Reading database ... 104795 files and directories currently installed.)
Preparing to unpack .../syncthing_1.0.0~ds1-1_armhf.deb ...
Unpacking syncthing (1.0.0~ds1-1) ...
Setting up syncthing (1.0.0~ds1-1) ...
Processing triggers for mime-support (3.62) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.31.4-3) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for desktop-file-utils (0.23-4) ...
pi@pi:~ $syncthing

我们安装最新版本 v1.18.3

树莓派输入下面命令安装

wget https://github.com/syncthing/syncthing/releases/download/v1.18.3/syncthing-linux-arm-v1.18.3.tar.gz
tar -vxf syncthing-linux-arm-v1.18.3.tar.gz
sudo cp syncthing-linux-arm-v1.18.3/syncthing /usr/bin/syncthing

配置 syncthing

安装后运行 syncthing 然后会看到下面一行,也就是配置文件位置。安Ctrl+C关闭,打开配置文件修改
sudo nano /home/pi/.config/syncthing/config.xml

23:49:02 INFO: Loading HTTPS certificate: open /home/pi/.config/syncthing/https-cert.pem: no such file or directory
sudo nano  /home/pi/.config/syncthing/config.xml

找到下面的内容:127.0.0.1:8384

<gui enabled="true" tls="false" debugging="false">
        <address>127.0.0.1:8384</address>
        <apikey>XLk262RSigRtanHWzAHX6MufD7ySiddM</apikey>
        <theme>default</theme>
 </gui>

修改成:0.0.0.0:8384

<gui enabled="true" tls="false" debugging="false">
        <address>0.0.0.0:8384</address>
        <apikey>XLk262RSigRtanHWzAHX6MufD7ySiddM</apikey>
        <theme>default</theme>
</gui>

再次运行 syncthing

在局域网的任意电脑浏览器中输入:http://树莓派的IP地址:8384
就可以打开下面的配置网页了。


image.png

手机照片备份

树莓派端(服务器端)

接下来,我们在树莓派上建个文件夹做手机照片备份。显然在树莓派的SD卡上做是不现实的,除非你是土豪拥有1T SD卡。我这里用的是树莓派外挂1TB USB移动硬盘盒。将硬盘挂载到树莓派上,详细查看文章:

1. 先弄个密码: 点击右上角设置

image.png

2. 输入用户名和密码,然后点击保存

image.png

3. 重新打开 http://树莓派的IP地址:8384 ,会要求输入用户名和密码
输入用户名和密码然后慢慢研究吧!

image.png

4. 点击Defaul Foler --> 选项 --> 移除,删除默认的共享

image.png

image.png

5. 点击“添加文件夹”, 添加一个共享文件夹放置手机照片,NAS_K30

image.png

名称和路劲按照自己的需要写, 文件夹ID 很重要这里要记住,后面手机端要用

由于这个是用于备份的所以设置成 “仅接收”,“旧文件优先”,扫描间隔整个5天。
由于我们考虑到后期要每星期自动备份所以扫描时间设置成了5天。


image.png

树莓派端配置完成


image.png

6. 记住文件夹ID, 等下手机端要输入的

image.png

手机端

1. 安装软件

支持平台:Linux Macos Windows Android
下载Android APP:https://syncthing.en.softonic.com/android
其他版本可以在网页下方找到

image.png

手机UC浏览器打开网址:https://syncthing.en.softonic.com/android
image.png

=======================或者===========================
image.png

image.png

image.png

2. 打开软件


点击显示设备ID可以查看手机的ID,点击网页管理可以打开网页来配置


3. 添加要备份的文件夹,钥匙位置要填入你服务器端文件夹的ID

文件ID一定要填入上面建立NAS_K30时的 文件夹ID。
文件夹ID 相同的就会被同步

4. 等待扫描完成

image.png

5. 添加设备 备份照片的服务器

点击设备--+


image.png

点击设备标识,扫描或者输入服务器的ID


image.png

点击这里可以显示 服务器的ID 与二维码,然后用手机扫描


image.png

勾选完成


7947ec3003a9dc185e666108e15224e.jpg

服务器端会弹出下面对话框,点击“添加设备”


image.png

点击共享,勾选NAS_K30


image.png

选择高级, 如果需要可以输入密码,由于是局域网内使用我们暂时不要输入。


image.png

然后保存


手机上,点击K30


image.png

勾选MyNAS


image.png

点击返回


点击返回,设备可以看到同步已经开始。


Syncthing 开机自启动。弄成后台服务:

在 /etc/init.d 目录下建立启动文件

sudo nano /etc/init.d/syncthing

输入:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          Syncthing
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Syncthing
# Description:       Syncthing is for backups
### END INIT INFO
  
# Documentation available at
# http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html
# Debian provides some extra functions though
. /lib/lsb/init-functions
  
DAEMON_NAME="syncthing"
DAEMON_USER=pi
DAEMON_PATH="/user/bin/syncthing"
DAEMON_OPTS=""
DAEMON_PWD="${PWD}"
DAEMON_DESC=$(get_lsb_header_val $0 "Short-Description")
DAEMON_PID="/var/run/${DAEMON_NAME}.pid"
DAEMON_NICE=0
DAEMON_LOG='/var/log/syncthing'
  
[ -r "/etc/default/${DAEMON_NAME}" ] && . "/etc/default/${DAEMON_NAME}"
  
do_start() {
  local result
  
    pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null
    if [ $? -eq 0 ]; then
        log_warning_msg "${DAEMON_NAME} is already started"
        result=0
    else
        log_daemon_msg "Starting ${DAEMON_DESC}" "${DAEMON_NAME}"
        touch "${DAEMON_LOG}"
        chown $DAEMON_USER "${DAEMON_LOG}"
        chmod u+rw "${DAEMON_LOG}"
        if [ -z "${DAEMON_USER}" ]; then
            start-stop-daemon --start --quiet --oknodo --background \
                --nicelevel $DAEMON_NICE \
                --chdir "${DAEMON_PWD}" \
                --pidfile "${DAEMON_PID}" --make-pidfile \
                --exec "${DAEMON_PATH}" -- $DAEMON_OPTS
            result=$?
        else
            start-stop-daemon --start --quiet --oknodo --background \
                --nicelevel $DAEMON_NICE \
                --chdir "${DAEMON_PWD}" \
                --pidfile "${DAEMON_PID}" --make-pidfile \
                --chuid "${DAEMON_USER}" \
                --exec "${DAEMON_PATH}" -- $DAEMON_OPTS
            result=$?
        fi
        log_end_msg $result
    fi
    return $result
}
  
do_stop() {
    local result
  
    pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null
    if [ $? -ne 0 ]; then
        log_warning_msg "${DAEMON_NAME} is not started"
        result=0
    else
        log_daemon_msg "Stopping ${DAEMON_DESC}" "${DAEMON_NAME}"
        killproc -p "${DAEMON_PID}" "${DAEMON_PATH}"
        result=$?
        log_end_msg $result
        rm "${DAEMON_PID}"
    fi
    return $result
}
  
do_restart() {
    local result
    do_stop
    result=$?
    if [ $result = 0 ]; then
        do_start
        result=$?
    fi
    return $result
}
  
do_status() {
    local result
    status_of_proc -p "${DAEMON_PID}" "${DAEMON_PATH}" "${DAEMON_NAME}"
    result=$?
    return $result
}
  
do_usage() {
    echo $"Usage: $0 {start | stop | restart | status}"
    exit 1
}
  
case "$1" in
start)   do_start;   exit $? ;;
stop)    do_stop;    exit $? ;;
restart) do_restart; exit $? ;;
status)  do_status;  exit $? ;;
*)       do_usage;   exit  1 ;;
esac

加可执行权限

sudo chmod +x /etc/init.d/syncthing

添加默认启动

sudo update-rc.d syncthing defaults

移除默认启动,这个弄错了要用

sudo update-rc.d -f syncthing remove

之后你就可以通过命令管理 Syncthing,建议先用 status 查看状态。

sudo service syncthing status
sudo service syncthing start
sudo service syncthing stop
sudo service syncthing restart

pi@pi:~ $ sudo service syncthing status
● syncthing.service - LSB: Syncthing
   Loaded: loaded (/etc/init.d/syncthing; generated)
   Active: active (running) since Sun 2021-10-31 10:12:17 CST; 9min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 357 ExecStart=/etc/init.d/syncthing start (code=exited, status=0/SUCCESS)
    Tasks: 20 (limit: 2200)
   Memory: 56.3M
   CGroup: /system.slice/syncthing.service
           ├─398 /usr/bin/syncthing
           └─703 /usr/bin/syncthing

Oct 31 10:12:16 pisystemd[1]: Starting LSB: Syncthing...
Oct 31 10:12:17 pisyncthing[357]: Starting Syncthing: syncthing.
Oct 31 10:12:17 pi systemd[1]: Started LSB: Syncthing.
pi@pi:~ $

syncthing 命令行控制

syncthing <command> serve decrypt cli
命令行交互控制
syncthing cli config #查看配置情况
syncthing cli config version get #查看配置情况
syncthing cli config folders list #查看所有配置的文件夹ID
syncthing cli operations restart #重启
syncthing cli operations shutdown #关闭
syncthing cli config folders Fold_ID paused get #获取当前目录的状态
syncthing cli config folders Fold_ID pause set "true" #停止当前目录的同步
syncthing cli config folders Fold_ID pause set "false" #设置当前目录的同步

pi@pi:~ $ syncthing --help
Usage: syncthing <command>
Flags:
  -h, --help    Show context-sensitive help.
Commands:
  serve
    Run Syncthing
  decrypt <path>
    Decrypt or verify an encrypted folder
  cli
    Command line interface for Syncthing
Run "syncthing <command> --help" for more information on a command.
:~ $ syncthing --help
Usage: syncthing <command>
Flags:
  -h, --help    Show context-sensitive help.
Commands:
  serve
    Run Syncthing
  decrypt <path>
    Decrypt or verify an encrypted folder
  cli
    Command line interface for Syncthing
Run "syncthing <command> --help" for more information on a command.

Syncthing 天然具有内网穿透功能,完全可以替代百度云盘。

  1. 树莓盘和手机端安装然间个人电脑
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容