news 2026/6/10 19:34:48

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/6/10 9:52:50

无锡黑锋 HF3613 40V热插拔、50V耐压、固定限流保护开关技术解析

一、芯片核心定位HF3613 是一款采用 SOT23-3 经典封装、集成固定阈值保护的 高压前端保护开关IC 其核心价值在于 高达50V的输入瞬态耐压、40V的热插拔耐受能力 以及 内置的 2.0A 固定过流保护 专为 智能手机、平板电脑、便携媒体设备 等对成本与PCB面积有严格要求的充电输入端口…

作者头像 李华
网站建设 2026/6/10 14:10:26

基于Spring Boot + Vue的租车网站系统

基于Spring Boot Vue的租车网站系统介绍 一、系统背景与目标 传统租车行业依赖线下门店和人工操作,存在信息不透明、流程繁琐、用户体验差等问题。本系统基于Spring Boot(后端)与Vue.js(前端)技术栈开发,旨…

作者头像 李华
网站建设 2026/6/9 23:49:12

】setTimeout 延时为 0 的情况

基础问答问题:你在写代码的过程中,在什么时候才会设置 setTimeout 的延时为 0?回答:有如下几种情况避免同步任务阻塞 UI,即在渲染较多数据的时候,可以通过 setTimeout 分批渲染。const data new Array(100…

作者头像 李华
网站建设 2026/6/10 14:09:33

.NET开发中3秒判断该用 IEnumerable 还是 IQueryable

选择 IEnumerable 当&#xff1a;1、数据已在内存中// 数据来自内存集合List<User> users GetUsersFromMemory();var result users.Where(u > u.Age > 18); // 使用 IEnumerable2、需要立即执行查询var users dbContext.Users.ToList() // 立即执行.Where(u >…

作者头像 李华
网站建设 2026/6/10 15:55:08

django基于人脸识别的课堂考勤系统

Django基于人脸识别的课堂考勤系统是一种结合人脸识别技术和Django框架的课堂管理工具&#xff0c;以下是该系统的详细介绍&#xff1a; 一、系统背景与意义 随着教育领域的不断发展和技术的快速进步&#xff0c;传统的课堂考勤方式&#xff08;如手动签到或点名&#xff09;已…

作者头像 李华
网站建设 2026/6/9 17:20:01

侯wenjie经验分享

学弟学妹们好&#xff0c;我是信管2002班的侯wenjie&#xff0c;现阶段是通过拔尖人才计划保研到本校。大家如果对这个计划有兴趣&#xff0c;可以在大三上关注一下官方通知&#xff0c;比较好的地方就是“312”的学年形式&#xff0c;比正常读研少一年。接下来是我的一点小感想…

作者头像 李华