news 2026/9/29 21:43:15

出门后才想起资料没备份?手机点一下,家里电脑自动打包到 NAS

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
出门后才想起资料没备份?手机点一下,家里电脑自动打包到 NAS

重要资料已经整理在家中的 Windows 电脑上,人却离开了电脑。此时如果只是想启动一次预先设定好的备份,使用完整远程桌面显得有些重;直接把 PowerShell 或系统命令开放给手机,风险又太高。

这次做一个用途单一的任务页面:Windows 只允许执行一项固定操作——把专用测试目录打包成 ZIP,再写入飞牛 NAS。Android 手机关闭 Wi-Fi、使用 5G,通过星空组网地址打开任务页面,点击一次按钮即可启动备份。

整个过程不需要公网 IP,不开放路由器端口,也不允许手机输入路径或执行任意命令。

一、星空组网解决哪一段问题

本次使用的设备如下:

设备实操中的作用
Windows 电脑保存测试源文件,运行 Python 固定备份任务
飞牛 OS 虚拟机通过 SMB 保存备份压缩包,局域网 IP 为192.168.71.128
Android 手机关闭 Wi-Fi,使用 5G远程启动任务

实际路径为:

Android 手机(5G,192.168.188.3) ↓ 星空组网设备直连 Windows(192.168.188.1:18092) ↓ 执行固定 Python 备份任务 飞牛 SMB:\\192.168.71.128\Remote-Backup-Target

这里使用的是星空组网的设备直接组网能力,不是子网路由。星空组网负责让 5G 手机抵达 Windows 的私有任务入口;Python 程序负责打包;Windows 再通过本地 SMB 将结果写入飞牛。

二、注册账号并确认两端组网地址

先在星空组网登录页面点击“免费注册账号”完成注册,再让 Windows 和 Android 手机加入同一网络。

图 1 星空组网登录页面提供免费注册入口,注册后将 Windows 和手机接入同一网络

本次 Windows 获得的组网地址为:

192.168.188.1

手机关闭 Wi-Fi、保持 5G 后,星空组网页面显示其组网地址为:

192.168.188.3

*图 2 Android 手机使用 5G 并接入星空组网,获得私有组网地址 **192.168.188.3*

这些地址来自本次实际环境,复现时应使用各自客户端显示的地址,不能直接照搬。

三、准备不会影响真实资料的测试目录

Windows 中建立固定源目录:

D:\codex\remote-backup-demo\source

目录中只放两份无隐私测试文件:

项目说明.txt 待归档清单.txt

飞牛“我的文件”中新建:

Remote-Backup-Target

进入“文件共享协议 → SMB”,把可见范围设为“自定义文件夹”,只选择Remote-Backup-Target。Windows 随后通过下面的地址打开目标目录:

\\192.168.71.128\Remote-Backup-Target

图 3 Windows 通过飞牛原局域网 IP 看到专用备份目标,执行任务前目录保持为空

这种准备方式有两个好处:测试任务不会读取现有文档,也不会把备份结果写入其他 NAS 目录。

四、创建只能执行固定备份的任务页面

项目只包含两个程序文件:

remote-backup-demo/ ├─ server.py ├─ index.html └─ source/ ├─ 项目说明.txt └─ 待归档清单.txt

server.py使用 Windows 已安装的 Python 标准库,不需要额外安装第三方包。程序中的源目录和目标目录是固定值:

SOURCE = Path(r"D:\codex\remote-backup-demo\source") TARGET = Path(r"\\192.168.71.128\Remote-Backup-Target")

备份核心逻辑只做四件事:读取固定源目录、生成时间戳 ZIP、先复制为临时文件、完成后再改成正式文件名。

def run_backup(): files = [ path for path in SOURCE.rglob("*") if path.is_file() and not path.is_symlink() ] if not files: raise RuntimeError("测试源目录中没有可备份文件。") if not TARGET.is_dir(): raise RuntimeError("飞牛目标目录不可用。") stamp = datetime.now().strftime("%Y%m%d-%H%M%S") archive_name = f"windows-test-backup-{stamp}.zip" with tempfile.TemporaryDirectory(prefix="remote-backup-") as temp_dir: local_zip = Path(temp_dir) / archive_name with zipfile.ZipFile( local_zip, "w", compression=zipfile.ZIP_DEFLATED ) as bundle: for path in files: bundle.write(path, path.relative_to(SOURCE)) remote_part = TARGET / f".{archive_name}.part" remote_final = TARGET / archive_name shutil.copy2(local_zip, remote_part) os.replace(remote_part, remote_final)

网页只调用固定的/api/start接口,不提交路径、文件名或系统命令。服务端还会检查来源 IP,只允许本次手机的组网地址访问:

if self.client_address[0] != self.server.allowed_client: self.reply(403, {"error": "当前设备未获准访问测试任务。"}) return False

完整实操文件保存在:

  • [server.py](D:/codex/remote-backup-demo/server.py)
  • [index.html](D:/codex/remote-backup-demo/index.html)

页面显示任务状态、压缩包名称、文件数量、源文件大小和完成时间。即使能够打开页面,也不能借此执行任意 PowerShell 命令。

五、绑定组网地址并由手机启动

先检查 Python 语法:

python -m py_compile D:\codex\remote-backup-demo\server.py

确认18092端口未被占用后,在 Windows 运行:

python D:\codex\remote-backup-demo\server.py --bind 192.168.188.1 --allow-client 192.168.188.3 --port 18092

其中:

  • --bind是 Windows 的星空组网地址;
  • --allow-client是允许访问的手机组网地址;
  • 服务只监听192.168.188.1:18092,没有绑定0.0.0.0。

手机保持 Wi-Fi 关闭,在浏览器中打开:

http://192.168.188.1:18092

点击“开始测试备份”后,页面显示任务完成,并返回实际生成的压缩包、文件数量和时间。

图 4 手机通过 5G 和星空组网启动固定任务,Windows 已将 2 个测试文件打包并写入飞牛

本次生成的文件为:

windows-test-backup-20260928-085116.zip

页面显示源文件共 2 个、230 B,完成时间为2026-09-28 08:51:16。

六、不能只相信网页提示

任务页面显示“完成”只能证明服务端返回了成功状态,还需要检查飞牛中是否真的出现结果。

在飞牛文件管理中打开Remote-Backup-Target,可以看到原始 ZIP 文件;解压后出现:

待归档清单.txt 项目说明.txt

图 5 飞牛中同时保留备份 ZIP 和解压后的两份测试文件,证明任务确实执行并写入 NAS

随后按Ctrl+C停止临时服务,再检查18092已无监听记录。Windows 源目录中的两份文件仍然存在,飞牛中只新增一个带时间戳的备份包,任务没有删除或覆盖任何源文件。

七、总结

这次实操解决的是一个明确问题:人已经离开 Windows 电脑,但需要立即启动一项预先设定好的备份任务。

星空组网让 5G 手机能够访问 Windows 的私有组网地址,不需要公网 IP 和端口映射;Python 页面把远程能力限制为一个固定任务;飞牛通过 SMB 保存最终备份结果。

真正重要的并不是“用手机执行任意命令”,而是把远程入口做得足够窄:固定源目录、固定 NAS 目标、只允许指定手机、每次生成新文件、不删除源数据。这样既能体现星空组网的设备互联能力,也避免把一个方便的按钮变成不受控制的远程命令入口。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 21:43:07

Cursor下载安装教程:TaoToken 统一 Key 接入与 Base URL 配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 21:42:01

X射线无损检测IC封装难点解析

IC封装环节的缺陷往往藏在焊球内部、芯片与基板之间,传统外观检测和电性能测试很难发现。X射线无损检测在IC封装的应用难点主要集中在成像分辨率与材料穿透力的平衡上,同时,芯片打样被动元件集成实验室在验证阶段也面临类似的检测盲区。本文从…

作者头像 李华
网站建设 2026/9/29 21:42:01

纸面上领先一档,实测慢了1.4到2.8倍,差距藏在常数项里

10个智能体、15小时、733轮讨论、289个证明文件。把这几个数字摆在一起,是一场刚刚结束的实验:一批前沿大模型被放进同一个隔离环境里,任务是给一个1959年提出的经典最短路径算法找出更快的替代方案,并且必须附上机器可检验的形式…

作者头像 李华
网站建设 2026/9/29 21:37:42

033_匹配网络损耗对输出功率的隐性吞噬

033、匹配网络损耗对输出功率的隐性吞噬 一个让我半夜爬起来改板的功率对不上事件 前年做一个工业加热电源项目,指标要求输出到负载的功率不低于某个值,前级逆变出来的功率按理论计算是够的,留了大概百分之十五的余量。样机装好之后,老问题来了:负载上实测功率比仿真值低…

作者头像 李华