安装

ubuntu 安装

1
apt install restic

查看版本

1
restic version

安装完后更新到最新版本

1
restic self-update

常用命令

1
2
3
4
5
6
7
8
9
10
11
# 在 rclone 挂载了一个名为 onedrive 的远程地址,使用 restic 初始化一个名为 typecho 的储存库
restic -r rclone:onedrive:typecho init

# 备份指定目录至上述仓库,--verbose意味着更多的输出
restic -r rclone:onedrive:typecho --verbose backup /data/typecho

# 列出仓库中存在的快照
restic -r rclone:onedrive:typecho snapshots

# 还原最新备份至指定目录
restic -r rclone:onedrive:typecho --verbose restore latest --target /data/typecho

定时备份

1
crontab -e

定时任务,每小时执行一次,日志目录自己指定,如果不存在的话需要先自己手动创建出来

1
0 */1 * * *  RESTIC_PASSWORD=<初始化仓库时配置的密码> restic -r rclone:onedrive:typecho backup /data/typecho/ >> /data/backup.log

定时任务,每天执行一次,删除之前的快照。

--keep-daily 7 :只保留最近 7 天的,每天最后一个快照

1
0 0 */1 * * RESTIC_PASSWORD=<初始化仓库时配置的密码> restic -r rclone:onedrive:typecho forget --keep-daily 7 >> /data/del.log

个人理解

每小时备份一次,用来数据容灾,如果服务器出现问题,可以恢复到最近一个小时的数据;

而 7 天的删除策略,保证备份的数据不会太多,数据正常的话,每天只有最后一个备份被保留,保留最近 7 天的

如果使用其他的储存,涉及到环境变量的,可以参考:「使用 Linux 自带的 crontab 执行定时任务,任务可以手动执行,自动执行出错

官方文档