尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Overleaf项目文件同步工具: olsync

Overleaf项目文件同步工具: olsync
📅 发布时间:2026/6/20 18:48:42

Hi! 我编写了一个用于Overleaf项目备份的命令行工具olsync, 希望可以帮助你更好的管理你的latex项目以及私有化的Overleaf服务实例.

如果喜欢, 请点一个Star, 谢谢

olsync 是一个简单的命令行工具,用于将你的 Overleaf 项目进行异地同步,从而轻松备份和管理离线 LaTeX 项目。

为什么需要 olsync

Overleaf 官方提供的项目同步功能(如 Git 访问或同步到 GitHub)是 付费功能,只有订阅了高级版才可以使用。
而如果你使用的是 自建 Overleaf 服务,同步功能同样需要购买付费版本才会开放。

此外,自建 Overleaf 服务虽然便于团队协作,但 硬盘一旦损坏或服务器意外宕机,就可能导致项目文件丢失。
因此,最稳妥的做法是 定时将 Overleaf 项目异地备份,避免单点故障带来的风险。

olsync 正是为此而生:它可以在不依赖付费功能的前提下,自动下载并同步 Overleaf 项目,帮助你轻松完成本地备份。

  • 并且未来计划实现和Overleaf官方同步服务一样的Github自动同步功能(更好的异地备份和用户体验)

为了不付钱给overleaf在我写论文的时候烦我, 我探索和编写本地部署overleaf服务帮助latex论文编写这篇博客到现在自动备份数据防止丢失, 真的是花了一些功夫

对比其他工具

相比通用的文件同步工具(如 Syncthing),olsync 更适合 Overleaf 项目的备份场景。
首先,我的自建 Overleaf 服务是通过 Docker 部署的,项目数据文件夹的 owner 并非当前用户,直接同步需要 sudo 权限,使用不便。
其次,Overleaf 的备份应当 面向具体的 LaTeX 项目,而不是面向整个数据库或文件卷,这样才能精确控制需要备份的项目,避免无关文件。
最后,olsync 提供简洁的命令行接口,结合定时任务即可实现自动化备份,比通用同步工具更轻量、更符合日常需求。

olsync

Github: https://github.com/xuhe2/olsync

功能

  • 自定义服务地址
    通过 baseUrl 指定 Overleaf 服务的主页地址,支持自建 Overleaf 服务。

  • 灵活的备份路径
    可通过 backup.path 设置备份文件保存位置,支持相对路径和绝对路径。

  • 定时任务支持
    使用 backup.schedule 配置 Cron 表达式,实现定时自动备份,例如每 6 小时执行一次。

  • 备份数量控制
    通过 backup.keep_last 设置保留的最近备份数量,自动清理过期文件,避免磁盘占满。

  • 按项目筛选备份
    在 projects.include 中列出需要备份的项目名称,只备份指定的 LaTeX 项目,避免无关项目占用空间。

Usage

Install

olsync 的使用方法可参考项目的 README。
安装方式非常简单,可以选择以下两种方法:

  1. Clone 仓库并编译
git clone https://github.com/xuhe2/olsync.git
cd olsync
make build
  1. Go install
go install github.com/xuhe2/olsync@latest

从浏览器中获取cookie并且配置好config.yaml就可以

参考config.template.yaml文件

Config

# config.yaml
# This file contains the configuration for the olsync application.overleaf:# The base URL for the Overleaf API.# This should typically be "https://www.overleaf.com".baseUrl: "https://www.overleaf.com"# baseUrl: "http://localhost:8880" # local overleaf server# The session cookies required for authentication.# You can get these from your browser's developer tools after logging in.cookies:- name: "overleaf_session2"value: ""# for local overleaf server# - name: "overleaf.sid"#   value: ""backup:path: "./Backup"            # 备份文件夹,支持相对路径schedule: "0 * */6 * * *"     # Cron 表达式,每 6 小时备份一次keep_last: 5                # 保留最近 5 个备份,自动清理旧文件projects:include:                        # 通过项目名列表来确定需要备份哪些项目- "quick-LaTeX"

按照需求填写即可

Run

./bin/olsync-linux-amd64 ./config.yaml

效果

我每隔一分钟备份一个项目进行验证

image

检查备份文件

image

未来计划

未来计划中,olsync 将支持自动同步到 GitHub,实现与 Overleaf 官方付费功能类似的体验。
该功能将基于 Go 的 go-git 包实现,能够在每次成功备份后自动将项目内容推送到指定的 Git 仓库。
这将使用户不仅可以本地备份,还能享受版本管理和远程冗余存储,进一步降低数据丢失风险。

TIP: 异常容忍

在备份过程中,如果由于网络问题导致部分项目下载失败,olsync 仍会继续尝试备份其他项目,保证尽量多的项目被保存。
但此时该次备份文件夹是不完整的,不会触发 keep_last 的旧备份清理逻辑,只有当本次所有项目均备份成功时才会清理旧文件夹。

这意味着在网络不稳定的情况下,可能会出现备份文件夹数量逐渐增加的情况,需要用户自行检查并清理不完整的备份或者等待第一次完整备份的出现。

相关新闻

  • 有一个函数只会返回0和1,且返回0和返回1的概率不等。要求只能通过这个函数生成一个等概率返回0和1的函数
  • 代码随想录算法训练营第十天 | 232. 用栈实现队列、225. 用队列实现栈、20. 有效的括号、删除字符串中的所有相邻重复项
  • 关于“悬荡悟空”决策机制的简要技术说明

最新新闻

  • 【无人机三维路径规划】蒲公英算法DO复杂地形无人机避障三维航迹规划【含Matlab源码 15649期】
  • 从零搭建Pikachu靶场:深入实战越权漏洞原理与防御
  • 3分钟快速安装:Android Studio中文界面完整配置终极指南
  • 2026-06-19 闲话
  • 营业执照副本丢了登报声明怎么线上办理?2026干货分享! - 速递信息
  • Ubuntu 20.04 下 Nginx 安装配置与 systemd/ufw 深度解析

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号