对于完整的系统备份,排除什么是安全的?


35

我正在寻找对于完整系统/主目录备份可以安全排除的路径/​​文件的列表。

考虑到我有一个已安装软件包的列表。

  • /home/*/.thumbnails
  • /home/*/.cache
  • /home/*/.mozilla/firefox/*.default/Cache
  • /home/*/.mozilla/firefox/*.default/OfflineCache
  • /home/*/.local/share/Trash
  • /home/*/.gvfs/

  • /tmp/

  • /var/tmp/
  • 不是真正的文件夹,但在“还原”时可能会导致严重问题
    • /dev
    • /proc
    • /sys

关于什么...

  • /var/ 一般来说?
  • /var/backups/ -可以变得很大
  • /var/log/ -不需要太多空间,可以帮助以后进行比较
  • /lost+found/

这是一个(非常)相关答案值得看的(假设这是不封闭的重复):askubuntu.com/questions/5596/how-to-clean-caches-in-my-homedir/...
Scaine

我不确定/home/*/.local/share/Trash。我已经从备份中的回收站文件夹中还原了文件。这是一个错误的删除,在我进行备份后被发现并撤消了,并且在还原备份时,文件仍然处于垃圾箱中。
Mateusz Konieczny

〜/ .local / share / Trash / *似乎是通用的,但由用户决定。
SDsolar

请注意,这是在2011年发布的。您的里程可能在2017
。– SDsolar '17

Answers:


33

rsync我将系统转移到备份分区时,将排除以下情况:

--exclude=/dev/* \
--exclude=/home/*/.gvfs \
--exclude=/home/*/.mozilla/firefox/*/Cache \
--exclude=/home/*/.cache/chromium \
--exclude=/home/*/.thumbnails \
--exclude=/media/* \
--exclude=/mnt/* \
--exclude=/proc/* \
--exclude=/sys/* \
--exclude=/tmp/* \
--exclude=/home/*/.local/share/Trash \
--exclude=/etc/fstab \
--exclude=/var/run/* \
--exclude=/var/lock/* \
--exclude=/lib/modules/*/volatile/.mounted \
--exclude=/var/cache/apt/archives/* \

这样,我便可以引导至备份分区,就像引导至原始分区一样。

综上所述,我建议

  • 不排除/{dev,proc,media,...}自己,只是他们的内容

  • 排除/var/{run,lock},尤其是大/var/cache/apt/archives/


2
您要排除所有/ dev。
psusi'3

@psusi-是的,您是对的。我正在编辑我的帖子。谢谢。
安排

2
我建议将-x选项与rsync一起使用进行备份。这样,它就不会越过文件系统的边界,它将排除/ dev / proc / sys / mnt和/ media之类的东西。您仍然必须排除/home/*/.gvfs。
Azendale 2011年

2
@Azendale:可能是。另一方面,当您使用时--exclude=/proc/*,它会将目录/ proc保留在备份中(如果要启动镜像,则需要此目录),而不是其内容。

或Opera用户,我也要补充一下--exclude=/home/*/.opera/cache:)
Grzegorz Wierzowiecki 2013年

4

我建议排除所有/usr(fort除外/usr/local/),并备份dpkg --get-selections

我认为完全备份并不是真正有用。我更喜欢备份数据和首选项,然后从官方存储库中还原软件包。

但是我的偏好是...

/usr主要包含分发包中的静态二进制内容。重新安装软件包将还原/usr内容。还/bin/sbin包含分发包二进制文件。

/usr/local包含手动安装的软件包(分发软件包中没有)。所以这值得备份。


2
非常有趣的方法。它将产生显着较小的备份,但是在还原时需要更多的麻烦(时间,Internet带宽)。在某些用例中,这种折衷可能值得。问题:怎么样/lib,同样适用?以及如何恢复这种软件包选择?
MestreLion

是的,我认为您也可以排除/lib。我还认为,而不是添加dpkg --get-selections它也许更好的使用apt-mark,这里说:askubuntu.com/questions/101931/...
盖洛斯

2

在配置完整的系统备份时,我还阅读了所有答案和所有其他相关问题。

我的2美分不是要排除任何东西,而只是在您对脱机系统进行完整的系统备份时。

现在让我详细说明一下:如果您从内部备份系统,则可以排除其他目录中提到的某些目录,但是我认为这不是一个好方法,因为它稍后会在还原系统时引入一些错误。例如,如果您排除了/ tmp目录,则在还原后,/ tmp将不存在,系统将创建一个目录,并且由于/ tmp上的chmod和chown问题,这可能会卡住登录屏幕。同样,不备份〜/ .cache目录也会导致Ubuntu软件中心的数据库缓存中断。

我要做的是使用实时CD并使用LuckyBackup并备份整个系统,而不会遗漏任何内容。现在,还原时,我选择了“删除源中不存在的文件”。这样,您就可以将整个系统快照完全还原到创建备份时的状态(有点像对VM进行快照)。


2
不应保存许多文件,因为它们不是真实文件,而是伪文件。您可能希望要保存的缓存,但不保存的内容/proc/devsys。它们的内容在引导时创建。
Teresa e Junior

1
@TeresaeJunior如果采用这种方法,并且从脱机系统完成备份,则这些非真实文件的内容已经为空。
Gaurav Kumar 2014年

是的,您是对的,对不起!我没有注意您提到的LiveCD。
Teresa e Junior

恐怕这些系统必须全天候24x7运行,所以不要那么奢侈。我有一个很好的排除列表,但一直挂在4G / var / log / kern *和/ var / log / messages *上-我想排除它们,但没有人讨论。完全排除/ var / log / *如何?
SDsolar '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.