银河麒麟系统文件夹自动同步设置方法
作者:技术拾光时间:2026-07-15 19:57:13浏览:307
银河麒麟系统文件夹自动同步有三种方案:Syncthing实现多设备双向同步;rsync结合inotify提供单向实时推送;ARM架构下可通过KMRE兼容百度网盘APP同步。三种方法均需配置并注意防火墙或SSH免密设置。
在银河麒麟系统中,要实现文件夹内容与远程位置的自动同步,手工复制粘贴或图形化共享文件夹无法满足需求,必须依赖后台服务持续监控,一旦文件变更便自动触发传输。以下三种方案经过实践验证最为可靠,可根据实际场景选择使用。
第一种:Syncthing,全平台双向同步的好手
该方案适用于多台麒麟设备混用,或与Windows、Linux机器协同的场景。无需中心服务器,所有同步逻辑由本地Syncthing进程自主协调,配置完成后即可自动运行。 操作步骤如下: 1. 打开终端,更新软件源并安装Syncthing: ```bash sudo apt update && sudo apt install syncthing ``` 2. 为当前用户启用并启动用户级服务: ```bash sudo systemctl enable syncthing@$(whoami).service && sudo systemctl start syncthing@$(whoami).service ``` 3. 检查服务运行状态: ```bash systemctl --user status syncthing ``` 若显示 `Active: active (running)` 则表示正常。然后打开浏览器访问 `http://127.0.0.1:8384`,进入Web管理界面。 4. 在Web界面中点击“操作→添加本地文件夹”,选择需要同步的目录(例如 `/home/kylin/Documents/sync`),设置唯一的文件夹ID(建议纯英文加数字,避免空格和中文)。勾选“共享此文件夹”,再添加目标设备的ID(在另一台设备的Syncthing界面中点击“操作→显示ID”即可获取)。 5. 在目标设备上执行相同操作,点击“添加设备”,填入本机的设备ID和地址(例如 `192.168.1.25:22000`)。保存后两台设备自动交换密钥,并开始首次全量同步。 **注意:两台设备的防火墙均需开放TCP 22000端口和UDP 21027端口,否则无法通信。**第二种:rsync + inotify,单向实时推送的轻量方案
若只需单向同步,例如将本地文件夹内容实时推送至NAS或另一台麒麟主机,该组合比Syncthing更节省资源,且对带宽更友好,仅传输真正变化的部分。 提供两种实现方式,可根据习惯选择。 **方法一:inotifywait监听 + rsync脚本** 1. 安装工具: ```bash sudo apt install inotify-tools rsync ``` 2. 创建同步脚本 `/home/kylin/bin/auto_sync.sh`,内容如下(根据实际源和目标路径修改): ```bash #!/bin/bash SYNC_SRC="/home/kylin/Documents/project" SYNC_DST="user@192.168.1.100:/srv/samba/backup" inotifywait -m -e modify,create,delete,move $SYNC_SRC | while read path action file; do rsync -a vz --delete "$SYNC_SRC/" "$SYNC_DST" done ``` 3. 赋予执行权限: ```bash chmod +x /home/kylin/bin/auto_sync.sh ``` 4. 如需开机自启,可将以下行加入 `~/.bashrc` 末尾: ```bash @reboot /home/kylin/bin/auto_sync.sh & ``` **方法二:使用systemd服务托管** 1. 创建服务文件 `~/.config/systemd/user/inotify-rsync.service`,内容: ```ini [Unit] Description=Inotify + Rsync Auto Sync After=network.target [Service] Type=simple ExecStart=/home/kylin/bin/auto_sync.sh Restart=always RestartSec=10 User=kylin [Install] WantedBy=default.target ``` 2. 重新加载服务配置并启动: ```bash systemctl --user daemon-reload && systemctl --user enable inotify-rsync.service && systemctl --user start inotify-rsync.service ``` **特别提醒:rsync目标地址中的`user`必须在远程主机上配置好SSH免密登录,否则每次同步会卡在密码输入环节,无法实现自动同步。**第三种:走KMRE安卓兼容层,用百度网盘跑同步
该方案仅适用于飞腾、鲲鹏等ARM64架构的银河麒麟系统。利用系统自带的安卓兼容环境KMRE,直接运行百度网盘移动版APP,借助其内置同步引擎实现本地文件夹与云端账号的双向自动同步。 操作流程如下: 1. 确认KMRE环境已就绪,检查路径是否可写: ```bash ls -ld /var/lib/kmre/data/kmre-1000-long/0-麒麟文件 ``` 2. 下载百度网盘Android APK(版本不低于v12.0),双击安装。 3. 启动APP,登录百度账号,在“设置→自动同步”中开启“Wi-Fi下自动上传”,并指定同步文件夹路径(例如 `/var/lib/kmre/data/kmre-1000-long/0-麒麟文件/baidu_sync`)。 4. 返回主界面,点击“我的→同步空间”,长按刚才设置的本地文件夹,选择“开启同步”。图标变为蓝色云朵即表示实时监听已激活。 5. 最后将需要同步的原始文件夹(例如 `/home/kylin/Pictures`)创建软链接指向KMRE映射路径: ```bash ln -sf /home/kylin/Pictures /var/lib/kmre/data/kmre-1000-long/0-麒麟文件/baidu_sync/pics ``` 此后,`Pictures`文件夹内的任何变动都会通过百度网盘自动同步到云端。
