你能看到什么 rsync 不能看到的东西?

发布于 2024-07-14 10:43:57 字数 311 浏览 12 评论 0原文

我想复制整个 Linux 服务器,该服务器将通过网络退役,这样我们就可以确保不会丢失任何内容。

我做了 du / 并被告知 / 下面有 60 GB

然后我做了 rsync -r / root@newserver:/old-server 并在做 du 时old-server 目录中我有 22 GB。

那么为什么会有这样的差异呢? 是否存在 du 可以看到但 rsync 无法复制的内容?

I want to copy an entire linux server that is going to be decommissioned over the network so we are sure nothing is lost.

I did du / and was told there are 60 GB of under /

Then I did rsync -r / root@newserver:/old-server and when doing du in the old-server dir I got 22 GB.

So why is that difference? Is there something that du can see but rsync can't copy?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

伪装你 2024-07-21 10:43:57

您可能已经删除了尚未释放的文件,因为它们上有打开的文件句柄。 (我之前不知道 du 会看到这些用法,但一些测试表明确实如此。)您可以使用 lsof。 根据我的经验,造成这种情况的两个主要原因是在不启动 httpd 的情况下删除 Apache 日志,以及从文件系统中删除 mysql 表,而不是使用 DROP TABLE。

You probably have deleted files that can't yet be deallocated because there are open filehandles on them. (I didn't previously know that du would see the usage from those, but some testing showed that it does.) You can research this using lsof. The two main causes of this from my experience are deleting Apache logs without kicking the httpd and deleting mysql tables from the filesystem rather than by using DROP TABLE.

素染倾城色 2024-07-21 10:43:57

如果您有一点时间,您可以准确地弄清楚其中的区别:运行 cd /; 寻找 。 > /tmp/old 在旧服务器上,cd /old-server; 寻找 。 > /tmp/new 在新服务器上,然后 vimdiff 这两个文件以查看发生了什么变化。

If you've got a bit of time on your hands, you could figure out exactly what the difference is: run cd /; find . > /tmp/old on the old server, cd /old-server; find . > /tmp/new on the new server, then vimdiff the two files to see what's changed.

音盲 2024-07-21 10:43:57

有一些特殊的文件系统应避免使用 rsync 进行复制,例如 /proc/sys/tmp< /代码>。 他们可能会解释你所看到的差异,尽管无论如何,它看起来太大了。

可能存在一些不可读的目录(例如,其中没有 rx)。 我不记得以 root 权限运行的进程是否可以在不先修复权限的情况下访问此类目录。

更好地生成和比较文件列表及其 md5 和。

There're some special filesystems which you should avoid copying with rsync, for example, /proc, /sys, /tmp. They may account for the difference you see, although, it seems too big anyway.

There could be some unreadable directories (for example, without r or x on them). I don't remember whether process running with root rights can access such directories without fixing permissions first.

Better generate and compare list of files and their md5 sums.

刘备忘录 2024-07-21 10:43:57

一些建议:

  • 稀疏文件(使用-S)
  • 硬链接(使用-H)
  • /proc/sys(使用--排除,或者更好的是 -x 并分别备份每个文件系统)

我倾向于在类似情况下使用 rsync -axHSW --numeric-ids 。

Some suggestions:

  • sparse files (use -S)
  • hard links (use -H)
  • /proc and /sys (use --exclude or, better, -x and backup each filesystem separately)

I tend to use rsync -axHSW --numeric-ids in similar circumstances.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文