V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
linuxgo
V2EX  ›  Linux

Linux 系统做备份该怎么做

  •  
  •   linuxgo · 2022-11-18 09:59:28 +08:00 · 8633 次点击
    这是一个创建于 766 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己用的 linux 桌面系统,用 back in time 做备份,一般需要包含哪些文件夹呢? windows 都是整个 c 盘,linux 就有点茫然。
    62 条回复    2023-09-18 14:09:52 +08:00
    bjzhush
        1
    bjzhush  
       2022-11-18 10:09:13 +08:00
    我用了很多年 Ubuntu ,基本上就没备份过系统。
    但是是有其它备份的,早期的 vim 和 bash 的一些配置是在 git 项目中的,有更新就直接提交。
    重要的工作相关文件放 Dropbox 目录自动实时双向同步。
    大部分工作走浏览器,比如 trello 、google 系产品、印象笔记等,不需要备份。
    其它能想到的也就 home 目录,但是有价值的文件不多,有价值的我一般顺手就整理了扔 Dropbox 目录以备查询了,还有源码,正常也不用备份,因为 git 远端都有
    ho121
        2
    ho121  
       2022-11-18 10:10:02 +08:00   ❤️ 1
    aloxaf
        3
    aloxaf  
       2022-11-18 10:14:50 +08:00
    简单粗暴型:排除掉特殊文件&目录后,直接备份整个根目录
    保住数据型: /home 就够了,或者带上 /etc & /var 更好
    防手贱型:改用 btrfs + snapper
    shanyuhai123
        4
    shanyuhai123  
       2022-11-18 10:17:42 +08:00   ❤️ 1
    linuxgo
        5
    linuxgo  
    OP
       2022-11-18 10:23:27 +08:00
    @bjzhush git 备份倒是个好办法,本地即使完全删除也不会丢。不过 dropbox 和 google 这些国内访问比较慢,感觉不是很好
    bjzhush
        6
    bjzhush  
       2022-11-18 10:25:34 +08:00
    @linuxgo 用对了梯子一点都不慢,Dropbox 的备份是自动的,正常 3-5M 每秒是能做到的
    ruidoBlanco
        7
    ruidoBlanco  
       2022-11-18 10:27:19 +08:00
    小项目丢 Git 。

    有价值的目录,我用 kopia 。

    btrfs+snapper ,那是 SLES 的那套。如果系统装的时候没有选 btrfs ,这个不在可选项里面。
    libook
        8
    libook  
       2022-11-18 10:28:15 +08:00
    系统小就简单 dd 再 gzip ,系统大可以考虑备份软件包列表、home 、etc 。
    chrawsl
        9
    chrawsl  
       2022-11-18 10:30:19 +08:00
    我的 vps 每天定时任务发邮件到 QQ 邮箱,把文件夹先打成压缩包然后传附件,博客+数据库每天 300mb 左右
    whywaoxaks
        10
    whywaoxaks  
       2022-11-18 10:39:17 +08:00
    整盘备份
    linuxgo
        11
    linuxgo  
    OP
       2022-11-18 10:45:40 +08:00
    @whywaoxaks 安装了一些开发软件,现在用了 100 多 G ,整盘备份太浪费了
    LindsayZhou
        12
    LindsayZhou  
       2022-11-18 10:47:35 +08:00
    看起来还没有人提 Resitc ,我的相关配置是这样的:
    https://pb.koi.moe/68
    zhucegeqiu
        13
    zhucegeqiu  
       2022-11-18 10:58:34 +08:00
    频率不高的话 dd xz
    shijingshijing
        14
    shijingshijing  
       2022-11-18 11:00:09 +08:00
    看起来还没有人提 Clonezilla ,怕麻烦的话还是 clonezilla 一把梭吧,和 Windows 下的 Ghost 一样用。
    linuxgo
        15
    linuxgo  
    OP
       2022-11-18 11:00:11 +08:00
    @bjzhush 你用什么方式挂载 dropbox 和 google 呢
    LindsayZhou
        16
    LindsayZhou  
       2022-11-18 11:03:18 +08:00
    @LindsayZhou #12
    哦 ,还有个问题没回答,我只备份家目录,非家目录的东西,都是用 Arch 包管理装的,没啥必要备份。也许服务器上还要加个 /etc 目录,自己电脑就没必要。
    家目录下也会过滤掉一些东西(上面的 pastebin 代码里提到的 .resticignore 文件),包括 Download, .mozilla, .vscode, node_modules 目录,已经上了 git 的代码目录。
    我也把我的 .resticignore 贴出来吧:pb.koi.moe/6B
    baoei
        17
    baoei  
       2022-11-18 11:07:55 +08:00
    Active Backup for Business
    bjzhush
        18
    bjzhush  
       2022-11-18 11:14:29 +08:00
    @linuxgo Dropbox 有客户端啊,安装下就行了,google 基本上都是在 chrome 上用
    Maboroshii
        19
    Maboroshii  
       2022-11-18 11:43:05 +08:00
    一般只备份 dotfiles
    cubecube
        20
    cubecube  
       2022-11-18 11:59:12 +08:00
    /home
    /etc
    /usr/local
    /opt
    基本上这几个备份了就大差不差了
    webcape233
        21
    webcape233  
       2022-11-18 12:23:04 +08:00 via iPhone
    分数据和配置
    配置一般主要是
    /etc 懒得筛选就全部反正也不大
    home 下的 .config 同上
    home 下的.zshrc (.bashrc )
    我还会用包管理器出一个已安装列表
    kongkongyzt
        22
    kongkongyzt  
       2022-11-18 12:47:52 +08:00
    rsync
    documentzhangx66
        23
    documentzhangx66  
       2022-11-18 13:05:30 +08:00
    数据不复杂,业务不关键,那就简单来搞:

    1. Linux 的磁盘做阵列,比如 raid 1 、raid 5 + 1 等等。没有阵列卡的话,直接用 mdadm 去做。

    2.系统盘用 btrfs 打快照。

    3.系统盘 + 数据盘开共享,通过 Windows 上的 SyncBackPro 这种专业软件,进行定期自动备份。

    Sync Back Pro 这款软件有破解版,且 Linux 没有比它更专业的企业级备份软件。

    4.备份位置,建议使用 Windows Server 2019 ,专门搞个磁盘,然后打开自动数据重删。
    0x2CA
        24
    0x2CA  
       2022-11-18 14:29:18 +08:00
    happyabs
        25
    happyabs  
       2022-11-18 14:39:00 +08:00
    #不必备份的路径: /dev /proc /sys /tmp /run /mnt /media /lost+found 和 swap 文件(/var/swap 或 /swap), 安装的缓存(用 apt clean 等命令清除)
    #以及用户目录下的缓存文件(~里面的各种 cache)一般是浏览器占比最大, 可以自己先清理, 也可以把缓存目录改到 /dev/shm/, shm/是内存空间, 关机自动清除
    #其他的文件, 我想都可以备份

    #可以用 tar 实现不关机备份(热备份), 当然关机也可以, 不过进入 live 之类的环境,以执行命令
    cd /
    sudo tar cvpzf /dev/shm/HB20221118.tgz --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/run --exclude=/mnt --exclude=/media --exclude=/lost+found --exclude=/var/swap /

    #注意排除不必备份的路径, 以及备份文件自身路径, 还要格外注意命令中 排除路径(--exclude=) 是写在 需要备份的路径(/ 根目录)的前面
    totoro625
        26
    totoro625  
       2022-11-18 14:47:27 +08:00
    @documentzhangx66 #23 您好,Sync Back Pro ,指的是: https://www.2brightsparks.com/download-syncbackpro.html 吗?我看上面只支持 Windows
    idblife
        27
    idblife  
       2022-11-18 15:06:50 +08:00
    nixos+rclone 是不是保险了
    yulgang
        28
    yulgang  
       2022-11-18 15:08:29 +08:00
    dd ,tar ,sync 都行,不熟的话就用 Clonezilla 吧
    Kiske
        29
    Kiske  
       2022-11-18 15:08:39 +08:00
    Gnome 环境下可以用 deja-dup, 底层是 duplicity ,我还是喜欢 clonezilla, 省心。
    ungrown
        30
    ungrown  
       2022-11-18 15:17:54 +08:00
    borgbackup
    DAR - Disk ARchive
    documentzhangx66
        31
    documentzhangx66  
       2022-11-18 15:33:42 +08:00   ❤️ 1
    @totoro625

    1.这是运行在 Windows 下面的软件,但这软件支持非常多的协议,因此其实是支持 Linux 的,但用法是,Linux 需要开一种共享,比如 ftp 、SMB ,然后这款软件运行在 Windows 上,远程对 Linux 执行备份。

    这款软件,可以给一台远程 Linux 的数据,备份到另一台远程 Linux 上。但我推荐备份到 Windows Server 2019 上,因为 Windows Server 2019 的全磁盘数据重删,特别稳。

    2.我用过很多企业级备份软件,这软件除了没有数据重删功能之外,秒杀其他一切企业级备份软件。

    3.这软件有破解,而且贼特么稳!!!支持各种协议!!
    totoro625
        32
    totoro625  
       2022-11-18 15:42:34 +08:00
    @documentzhangx66 #31 非常感谢,我买的正版,但是感觉没你用的溜,下次试试全磁盘数据重删功能
    plasmetoz
        33
    plasmetoz  
       2022-11-18 16:50:36 +08:00
    wtdd
        34
    wtdd  
       2022-11-18 16:58:13 +08:00
    @documentzhangx66 哪个版本稳? 8 ,9 ,10 ?
    wtdd
        35
    wtdd  
       2022-11-18 16:59:09 +08:00
    @documentzhangx66 求一个贼特么稳版本链接^_^
    linuxgo
        36
    linuxgo  
    OP
       2022-11-18 17:07:59 +08:00
    @bjzhush 刚才看了下,linux 的设置里有个在线账户,里面就可以添加 google 网盘,加完后就可以直接在文件管理器里使用了,爽
    bjzhush
        37
    bjzhush  
       2022-11-18 17:10:41 +08:00
    @linuxgo 见过,我不喜欢用系统集成好的,没运行过
    linuxgo
        38
    linuxgo  
    OP
       2022-11-18 17:13:07 +08:00
    @documentzhangx66 timeshft 和 backimtime 都可以支持 ssh 远程备份
    novolunt
        39
    novolunt  
       2022-11-18 17:43:46 +08:00
    使用 nix-shell,把数据文件都放 /opt 独立分区目录。
    因为 nix-shell 的优越性,你只需备份 /opt 目录就行。
    nixos 更简单
    iyg429
        40
    iyg429  
       2022-11-18 18:44:51 +08:00 via iPhone
    在生龙
    DianQK
        41
    DianQK  
       2022-11-18 18:46:30 +08:00
    pcmid
        42
    pcmid  
       2022-11-18 18:52:04 +08:00 via iPhone
    我的文件系统是 btrfs ,用 btrbk 生成过去 24 小时的每小时快照,再每天一次通过 btrfs send 同步到家里的 ceph . 最后用 restic 加密备份到腾讯云的 oss 上
    Facebook8866
        43
    Facebook8866  
       2022-11-18 18:57:39 +08:00 via Android
    有沒有大神知道怎麼做黑蘋果電腦的係統的。迫切想裝一下,B 站教的感覺跳過好多,看不懂
    documentzhangx66
        44
    documentzhangx66  
       2022-11-18 19:30:58 +08:00
    @linuxgo

    backimtime 没用过。

    timeshft 就是个坑爹的玩具,有两个原因:

    1.系统磁盘结构稍微定制化一些,timeshift 就不支持了,也就是说它只支持最流行、最简单、以及默认的分区方案,而不具备磁盘分区结构的分析能力。

    2.Debian 11.4.0 + btrfs 根目录,通过 apt 方式安装 timeshfit ,它会在自己的目录下,挂载一个 btrfs 根目录的挂载点。
    然后,apt 删除该软件后,timeshift 的文件夹,以及文件夹内部的这个挂载点,依然存在。

    此时,如果手动删除该文件夹,会导致删除这个挂载点,从而把整个系统全删光。

    我不清楚一款备份软件,是出于什么样的业务逻辑,需要在自己程序的目录里,存放一个 btrfs 的根目录挂载点。

    而且这么重要的事情,居然在安装时,也没提醒。
    documentzhangx66
        45
    documentzhangx66  
       2022-11-18 19:32:24 +08:00
    @linuxgo

    另外,从备份功能上去比,timeshift 简单地简直像个脚本工具。而 SyncBackPro 是一款企业级的软件,里面的功能多到吓人。
    likelylee
        46
    likelylee  
       2022-11-18 19:43:44 +08:00
    我的备份分了好几个层面了来做的:
    首先是 /home 下的 dotfiles ,以及 pacman 生成包列表和 luks 的备份 key ,用自建的 gitea 来保管,同时用 chezmoi 做不同设备间的同步
    然后是 /home 下的工作数据,全量走 urbackup 自动每天增量备份,NAS 端设置保存 100 份,同时每个项目本身还有公司的 svn 每周备份
    最后是 /目录,用 backintime 走 ssh 通道到 NAS 的目录,每月一个,纯粹是作为安慰剂而不是后悔药
    然后 NAS 端还有每周的冷备计划
    cyp0633
        47
    cyp0633  
       2022-11-18 19:46:41 +08:00 via Android
    btrfs+timeshift 用来备份系统,防滚出问题
    ssse1
        48
    ssse1  
       2022-11-18 19:50:52 +08:00
    我 Linux 个人文件一般不是很多,rclone 给 backblaze ( Windows 版本无线容量,十分省心,Linux 按大小计费,不过感觉还是比较便宜的)。非重要图片靠 Windows 自动备份给 Google Photos ,项目文件 git.
    wolfmei
        49
    wolfmei  
       2022-11-18 20:38:15 +08:00
    借助单位的 Commvault 备份到磁带
    swulling
        50
    swulling  
       2022-11-18 20:47:11 +08:00 via iPhone
    dd
    febtree
        51
    febtree  
       2022-11-18 21:43:25 +08:00
    timeshift ,manjaro 即使滚挂了在命令行也可以恢复系统
    documentzhangx66
        52
    documentzhangx66  
       2022-11-18 23:28:57 +08:00
    @wtdd

    V8.5.115.0 (x64)

    从哪下载的忘了,但我电脑上有存档:

    https://sendy.link/U88Q6JKE

    keygen.exe 会提示有病毒,但我已经在好几台上电脑装了,没发现有什么问题。

    多引擎在线查毒:
    https://www.virscan.org/
    cmlz
        53
    cmlz  
       2022-11-19 00:56:16 +08:00
    湾湾那边有个再生龙,专门备份 Linux 用,功能挻强的。
    acplumber
        54
    acplumber  
       2022-11-19 07:30:01 +08:00
    /home 放到单独的物理硬盘上
    重要数据,比如照片,文档等本地硬盘一份,家里 NAS 一份,云上一份。如果用公共的云存储最好加密,也可以自建云存储。
    不重要的数据(或者说可再生的数据),比如电影、音乐放 NAS 上,NAS 用 RAID 备份
    软件配置信息写成 Chef cookbook 或者 Ansible playbook ,存 GitHub
    代码当然存 GitHub
    除此之外就不需要备份了。系统崩了直接覆盖根目录重装,装完跑一遍 Chef ,重新挂在 /home 分区,立刻恢复到原来的样子。
    cgglyle
        55
    cgglyle  
       2022-11-19 09:49:08 +08:00
    首先分区的时候把 /home 单独分出来。
    用 btrfs 格式,方便扩展,目前没有什么问题。
    用 timeshift 做快照,之后直接回滚就好了,但是要注意 timeshift 是快照,而且每次备份不保存文件本身,只记录文件引用,所以备份文件不会太大,但是如果整个系统都从硬盘上丢失了就没办法了。(可能并不准确,这么理解即可)
    如果考虑全量备份,除非是有快速部署的要求,否则其实没有必要。因为系统主要值得备份的也就是数据和配置文件,软件什么的直接包管理下载就好了。配置文件直接 git 上传,重要数据单独备份即可,就算系统挂掉了,直接把根目录抹了,重建一个就好了。
    linuxgo
        56
    linuxgo  
    OP
       2022-11-19 12:22:40 +08:00
    我发现 MX linux 有个 snapshot 的应用,可以把整个系统打包成一个 iso 文件,如果系统出现崩溃或者想重装系统,之需要把 iso 写到一个 u 盘上引导电脑,然后直接像安装新系统一样就可以恢复之前的状态了
    tensorzhang
        57
    tensorzhang  
       2022-11-19 23:23:29 +08:00
    @linuxgo deepin 也可以了
    JohnBull
        58
    JohnBull  
       2022-11-25 23:24:05 +08:00
    装个 timeshift
    JohnBull
        59
    JohnBull  
       2022-11-25 23:26:24 +08:00
    Linuxmint 有 timeshift 但是从来没动用过。我的系统随时可以重装,我的数据都在 NAS 的 NFS 卷里,本地只有系统。
    linuxgo
        60
    linuxgo  
    OP
       2022-12-12 10:49:14 +08:00
    今天看到一个比较有用的文章,各位可以参考 http://shouce.jb51.net/vbird-linux-basic-4/176.html
    linuxgo
        61
    linuxgo  
    OP
       2022-12-12 10:51:42 +08:00
    @JohnBull 我的数据也都放在远程硬盘里,重装系统很简单,主要是系统里的各种软件,各种环境装起来很费时
    kyonn
        62
    kyonn  
       2023-09-18 14:09:52 +08:00
    @documentzhangx66 请教下, 如果把 linux 的数据备份到 Windows Server 2019 上, 如何保留 linux 特有的文件系统权限? 比如软链接. 如果用 smb 这种协议应该是不行的, 请问是怎么处理的? 换成 nfs 共享?
    毕竟要恢复的时候, 这些权限最好跟备份时是一模一样的.

    第 2 个问题, 如果用 SyncBackPro 备份 + windows server 去重的话, linux 数据盘用 btrfs 是不是就没意义了? 还影响磁盘写入速度.

    第 3 个问题, SyncBackPro 这个方案相比于 rsync 增量备份的优点是什么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:35 · PVG 04:35 · LAX 12:35 · JFK 15:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.