Lyncd + ossfs 实现实时同步到阿里云 OSS

AI-摘要
青萍AI
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
Lyncd + ossfs 实现实时同步到阿里云 OSS
青萍叙事🧭 背景介绍
最近刚把博客静态文件全部上了阿里云OSS图床和CDN,在日常的写作过程中,我通常需要先在本地通过PS修图,然后再通过阿里云 OSS Browser 客户端手动将图片上传至OSS,供网站访问。
这种方式虽然直观,但在文件数量增多、更新频繁的场景下逐渐暴露出以下问题:
- 上传操作繁琐,需要人工介入,效率低
- 容易出现遗漏,缺乏稳定的同步机制
- 文件同步不具备实时性,影响使用体验
为此,我计划采用一种 自动化、稳定、实时 的方案,将本地目录中的文件实时同步至 OSS。
方案具体是通过将 OSS 挂载为本地目录(ossfs),并结合实时文件监听工具 Lsyncd,可以实现无需人工干预的自动同步,大幅提升效率并降低人为错误。
❓ Lsyncd 是什么
Lsyncd 是一个基于 inotify 或 fsevents 的实时文件同步工具,它监控目录的文件更改并通过 rsync(或其他方式)推送到远程或本地目标,非常适合做:
- 实时同步目录
- 适配网络延迟(通过事件聚合)
- 自动重试失败的同步
PS:相比inotifywait更稳定,更易用。之前也试过inotifywait经常收不到消息。
⏩ 前提条件
- 一台已配置网络的 Linux 服务器(示例基于 CentOS)
- 阿里云 OSS 账户及已创建的 Bucket
- 已获取
AccessKeyId与AccessKeySecret
📦 安装并配置 ossfs
1、执行以下命令,下载安装包。
1 | sudo wget https://gosspublic.alicdn.com/ossfs/ossfs_1.91.5_centos8.0_x86_64.rpm |
PS:更多其他版本下载链接请参考:官方文档
2、执行以下命令,安装 ossfs。
1 | sudo yum install -y ossfs_1.91.5_centos8.0_x86_64.rpm |
3、执行以下命令,验证 ossfs 是否成功安装。
1 | ossfs --version |
4、创建并编辑配置文件
- 配置文件路径:默认配置文件为
/etc/passwd-ossfs。 - 配置文件格式:
$bucket_name:$access_key_id:$access_key_secret。
1 | echo bucket-test-1:AAA:AAA8 > /etc/passwd-ossfs |
5、挂载 OSS 到本地
1 | # 创建挂载目录 |
6、验证挂载
1 | df -h | grep ossfs # 验证挂载点 |
⚙️ 安装并配置 Lsyncd
- 安装 Lsyncd
1 | sudo yum install -y epel-release |
- 创建配置文件
1 | sudo vim /etc/lsyncd/lsyncd.conf.lua |
示例配置内容:
1 | settings { |
- 创建日志目录
1 | sudo mkdir -p /var/log/lsyncd |
- 启动并设置开机启动
1 | sudo systemctl start lsyncd |
✅ 验证同步效果
1、添加测试文件:
1 | echo "hello oss" > 【本地共享目录】/test.txt |
2、查看目标目录是否生成同步文件:
1 | ls /mnt/ossfs/ |
🧩 总结
通过将阿里云 OSS 挂载为本地文件系统,并使用 Lsyncd 实现实时同步,可以快速搭建一个简单的自动同步方案,避免了每次本地修完图,还要再手动上传到OSS的过程,大大的节省了重复工作,专注于内容生产。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果
文章目录














