在工业制造、数据分析等场景中,现场设备(如检测机台)每日会产生大量图片、日志等数据文件。这些数据本地存储有限,长期积累可能导致存储告急或面临因设备故障而丢失的风险。因此,建立一套将分散的本地数据自动、可靠地同步到中央文件服务器的机制至关重要。
方案选型:为什么选择 Rclone + Minio?
市面上有多种文件同步方案,例如 Windows 的 Robocopy 配合任务计划程序,或 Linux 下的 rsync 与 crontab。它们虽简单易得,但功能与灵活性相对局限。最终,我们选择了 Rclone 这一跨平台命令行工具来同步到 Minio 对象存储,主要基于以下优势:
- 协议支持广泛:Rclone 支持超过64种存储后端,包括 S3、FTP、SFTP、WebDAV 等,Minio 完美兼容 S3 协议。
- 功能强大:具备增量同步、断点续传、目录过滤等高级特性,满足复杂的数据同步需求。
- 易于自动化:通过简单的命令行即可完成操作,方便与各操作系统的定时任务(如 Windows 计划任务或 Linux 的 cron)集成,实现全自动备份。
Rclone 官网下载地址:https://rclone.org/
配置与操作步骤
以下将演示如何配置 Rclone 连接 Minio,并执行安全的增量文件同步。
1. 配置 Minio 远程存储
在命令行中执行 rclone config 进入交互式配置界面,创建一个新的远程配置。
- 选择
n 新建配置。
- 为配置命名,例如
my_minio。
- 从存储类型列表中,选择
s3 或输入对应的数字编号。
- 后续选项请根据您的 Minio 实例信息填写:
- provider: 选择
Minio。
- access_key_id: 填写您的 Minio Access Key。
- secret_access_key: 填写您的 Minio Secret Key。
- endpoint: 填写 Minio 服务器的地址(如
http://192.168.1.100:9000)。
- 其余关于区域、位置约束等选项,通常可回车选择默认值。
- 配置完成后,可以使用
rclone lsd my_minio: 命令测试是否能够列出 Minio 中的存储桶,以验证连接成功。
2. 执行同步命令
核心同步命令如下:
rclone copy --progress --dry-run /path/to/local/source my_minio:your-bucket-name/path/to/destination
3. 实现 Windows 自动同步
为确保数据按时自动备份,可以将其配置为 Windows 计划任务,这是实现 自动化运维 的基础实践。
- 打开“任务计划程序”,创建基本任务。
- 设置触发器,例如“每天凌晨2点”。
- 操作设置为“启动程序”。
- 在“程序或脚本”中填写
rclone 的完整路径(如 C:\Tools\rclone.exe)。
- 在“添加参数”中填写上述去除了
--dry-run 的完整同步命令(如 copy --progress D:\machine_data\ my_minio:backup/factory_a/)。
- 完成创建后,计划任务便会定时执行,实现无人值守的数据备份,将关键资产稳定存储于 Minio 对象存储 中。
通过以上步骤,您即可利用 Rclone 构建一个高效、可靠且自动化的跨平台文件备份与同步解决方案。
|