news 2026/5/9 2:26:53

olsync:非付费用户福音!你的 Overleaf/ShareLaTeX 项目免费自动化备份神器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
olsync:非付费用户福音!你的 Overleaf/ShareLaTeX 项目免费自动化备份神器

为什么需要 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。

安装方式非常简单,可以选择以下两种方法:

Clone 仓库并编译

git clone https://github.com/xuhe2/olsync.git

cd olsync

make build

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 的旧备份清理逻辑,只有当本次所有项目均备份成功时才会清理旧文件夹。

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

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

Java 一行一行的读取文本,小Demo 大学问

String str"A\n" "B\n" "C";在Java中,有多种方式可以一行一行地读取文本。以下是几种常用的方法:1. 使用 BufferedReader FileReaderString str "A\n" "B\n" "C";// 方法1:…

作者头像 李华
网站建设 2026/5/4 20:43:43

基于Django开发的静思阁自习预约管理系统

基于Django开发的静思阁自习预约管理系统是一个旨在提升自习资源利用效率和学生学习体验的系统。以下是对该系统的详细介绍: 一、系统背景与意义 随着高校和研究机构对资源高效管理和学生服务个性化需求的日益增长,传统的自习资源管理方式已经无法满足当…

作者头像 李华
网站建设 2026/5/6 13:53:58

2020级张niuyue大学经验总结

个人简介:学弟学妹们好!很荣幸能给你们分享经验,我是信管2020级的毕业生,姓名张niuyue,中共党员。在分享经验前,我先简单的做一个履历介绍,大一有一个校级二等奖学金、大二有一个蓝桥杯省级二等…

作者头像 李华
网站建设 2026/5/6 13:53:46

谢juncen经验分享

学弟学妹们你们好,我是信管2002班的谢juncen,去年考上了我们本校的管理科学与工程专业的研究生,我的初试成绩是326分,政治68,英语61,数学86,专业课111。以下是我给学弟学妹们的几点建议&#xf…

作者头像 李华
网站建设 2026/5/6 13:54:09

【光照】[PBR][漫反射]实现方法对比

URP BRDF漫反射方法对比方法名称 数学公式 特点 性能消耗 适用场景Lambert $L_d k_d * max(0, NL)$ 经典模型,能量不守恒 ★☆☆ 移动端低配Half-Lambert $L_d k_d * (0.5*(NL)0.5)^2$ 增强暗部细节 ★★☆ 卡通渲染Disney Diffuse 复杂能量守恒公式 物理准确&…

作者头像 李华