住宅主机定时自动备份大模型:从零搭建本地安全方案

如果你在自己的电脑上跑过大模型(比如 llama.cpp、Ollama 或本地 Stable Diffusion),模型文件动辄几十 GB,一旦硬盘坏了或者误删,重新下载太浪费时间。
这篇教程专门针对住宅主机用户,讲清楚如何用系统自带的定时任务工具,自动把大模型文件备份到另一个硬盘、NAS 或网盘目录,全程不需要额外软件,零基础也能照着做。

准备条件:先确认硬盘空间和备份目标

开始之前请确认三件事:

  • 你的大模型文件放在哪个文件夹?以 Windows 为例常见位置是 C:\Users\你的用户名\.ollama\modelsC:\models;Linux 下可能是 /home/用户名/.ollama/models
  • 备份目标位置(比如外接硬盘、另一个分区、NAS 共享文件夹)必须提前挂载好,并且有足够的剩余空间(至少比模型文件大 50% 以防版本累积)。
  • 你拥有这台电脑的管理员权限(Windows 需要管理员账户,Linux 需要 sudo)。

第一步:编写备份脚本

我们用一个简单的压缩+复制逻辑,既节省空间又保留原文件。

Windows 用户(PowerShell 脚本)

新建文本文件,命名为 backup_models.ps1,粘贴以下内容:

$source = "C:\Users\你的用户名\.ollama\models"
$dest = "D:\Backup\models_$(Get-Date -Format 'yyyyMMdd_HHmmss').zip"
Compress-Archive -Path $source -DestinationPath $dest -CompressionLevel Optimal
Write-Output "备份完成:$dest"

注意替换 你的用户名D:\Backup 为实际路径。
如果想保留文件夹结构而不是压缩,可以用 Copy-Item

Copy-Item -Path $source -Destination "D:\Backup\models_$(Get-Date -Format 'yyyyMMdd')" -Recurse -Force

Linux 用户(bash 脚本)

新建文件 backup_models.sh

#!/bin/bash
SOURCE="/home/你的用户名/.ollama/models"
DEST="/mnt/backup/models_$(date +%Y%m%d_%H%M%S).tar.gz"
tar -czf "$DEST" -C "$(dirname "$SOURCE")" "$(basename "$SOURCE")"
echo "备份完成:$DEST"

保存后赋予执行权限:chmod +x backup_models.sh
建议先用终端手动执行一次脚本,确认没有路径错误。

第二步:设置定时自动备份

根据你的操作系统选择对应方法。

Windows 使用任务计划程序

  1. Win + R 输入 taskschd.msc 回车,打开任务计划程序。
  2. 右侧点击“创建基本任务”,名称填“大模型自动备份”。
  3. 触发器选择“每天”,设置时间(比如凌晨 3 点,此时电脑通常空闲)。
  4. 操作选择“启动程序”,程序或脚本填 powershell.exe,添加参数填 -ExecutionPolicy Bypass -File "C:\Scripts\backup_models.ps1"(将路径指向你刚才保存的脚本文件)。
  5. 完成。注意检查“不管用户是否登录都要运行”和“使用最高权限运行”两项(如果需要访问其他盘)。

Linux 使用 crontab

在终端输入 crontab -e,添加一行:

0 3 * * * /home/你的用户名/backup_models.sh >> /home/你的用户名/backup.log 2>&1

这表示每天凌晨 3 点执行脚本,并把日志输出到 backup.log 方便排错。
保存后重启 cron 服务:sudo systemctl restart cron

避坑指南:权限、空间和命名冲突

  • 权限不足:Windows 中如果脚本无法访问模型文件夹,给脚本文件夹和模型文件夹添加 Everyone 读取权限(仅备份需要)。Linux 下脚本必须以有读权限的用户运行。
  • 硬盘空间爆炸:每次备份生成一个新文件,长期累积会占满硬盘。建议在脚本中添加删除 7 天前的备份:在 PowerShell 中加 Get-ChildItem "D:\Backup\*.zip" | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-7) } | Remove-Item;在 bash 中加 find /mnt/backup/ -name "*.tar.gz" -mtime +7 -delete
  • 备份过程中模型被占用:如果模型正在使用(比如 Ollama 服务运行中),压缩可能会失败或产生损坏文件。建议备份时间设置在模型不使用时,或者先停止相关服务。例如备份前在脚本中加入 ollama stop 等指令(需根据实际服务调整)。
  • 路径含空格:如果路径中有空格,必须用引号包裹,脚本中已经使用引号则安全。

效果验证:怎样确认备份真的跑成功了?

创建任务后的第二天,手动检查:

  • Windows:在任务计划程序库中右键任务选择“运行”,观察是否执行成功。然后去目标文件夹找是否有新生成的压缩包,并尝试解压一个文件验证完整性。
  • Linux:查看 backup.log 或使用 ls -lh /mnt/backup/ 查看文件时间。可以手动执行脚本并查看退出码:echo $? 返回 0 表示成功。

如果脚本执行了但压缩包为空或损坏,检查源路径是否正确,以及是否有足够的磁盘空间写入临时压缩文件。

通过以上步骤,你的住宅主机就能在每天凌晨自动备份大模型文件了。
今后遇到硬盘故障或误操作,只要从备份目录恢复文件即可,省去重新下载和配置的麻烦。
如果需要备份到网盘或异地,可以在脚本中增加 rsync 或 rclone 同步步骤,建议从这篇基础教程逐步升级。

分享到:
上一篇
闲置笔记本改造家用Linux服务器,零基础实操指南
下一篇
住宅服务器防火墙端口管控:零基础安全配置完整教程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意