使用 restic 作为备份方式

restic是用golang编写的,只需要下载预编译文件放到环境变量即可

https://restic.net/#installation

使用前:

  1. 备份前先确定一个储存方式,restic支持本地文件系统备份,或者oss之类的云储存备份,还有ftp,sftp之类的
  2. 确定一个备份密码,你的备份会被加密储存,这个不可以跳过,希望你不要忘记你的备份密码
  3. 将储存方式写到环境变量,例如~/.bashrc 或者 ~/.profile中,例如本地储存

    1
    2
    export RESTIC_REPOSITORY="/backup/restic-repo"
    export RESTIC_PASSWORD="my@backup@password"

    或者 oss (记得替换方括号和尖括号的部分)

    1
    2
    3
    4
    export RESTIC_REPOSITORY="s3:https://[oss-cn-shenzhen.aliyuncs.com]/<bucket-name>/[path]"
    export AWS_ACCESS_KEY_ID="<ACCESS_ID>"
    export AWS_SECRET_ACCESS_KEY="<ACCESS_KEY>"
    export RESTIC_PASSWORD="my@backup@password"

    不要忘记执行 source ~/.bashrc 使变量生效,或者你退出终端重新进入也行

  4. 现在,你可以执行restic init 来初始化你的储存
  5. 备份一个路径很简单,使用 restic backup /data/my-path 或者 cd /data; restic backup my-path 都是等效的,在restic中一次备份快照将被绑定到3个数据维度,host+path+time 另外还有一个可选的tag
  6. 要在crontab中定时备份,请使用这样的格式,不然restic将会找不到储存
    1
    01 6 * * * . ~/.bashrc; restic backup /path/to/my-file

注意

restic不会去备份软连接的目标文件,例如你的/etc/nginx是从/usr/local/nginx/etc 链接的

当你执行restic backup /etc/nginx 后,你将只备份了一个软连接,而不是nginx的配置文件夹

鄂ICP备14007840号-1