我使用 rsync v.3.0.4,当我需要移动某些内容时,我将其与 --remove-source-files 一起使用。与 mv 相比,我更喜欢 rsync。
不幸的是,当我使用 --remove-source-files 时,目录保留在源端(如 man 中所述)。一旦移动了所有文件,有没有办法也删除目录?
我正在通过 ssh 使用 rsync 并尝试将文件同步到用户主目录内的某个位置,但没有成功。
rsync 始终希望使用完整路径。
尝试过类似的事情:
rsync --rsh=ssh /src/ user@server:/dst- 如果可以的话,显然会在 root 中创建它rsync --rsh=ssh /src/ user@server:~/dstrsync --rsh=ssh /src/ user@server:~dst- 在 root 中创建~dst!我正在切换机器,并将旧硬盘 ( /dev/sda4) 连接到新机器。
720G与新机器 ( ) 相比,旧机器的硬盘驱动器 ( ) 稍小736G,因此我也创建了一个稍大的分区。
于是,我接着跑去rsync将所有数据复制到新分区,如下图:
linux-70e2:/ # time rsync -azprvl /mnt/external-disk/foo /media/sda4/
...
sent 169,237,139,987 bytes received 24,529 bytes 24,419,185.41 bytes/sec
total size is 190,542,953,489 speedup is 1.13
real 115m30.297s
user 112m13.068s
sys 3m59.996s
Run Code Online (Sandbox Code Playgroud)
数据被复制且没有错误。
但是,当我这样做时:
du -h -m -s /mnt/external-disk/foo /media/sda4/foo
Run Code Online (Sandbox Code Playgroud)
我得到:
162414 /mnt/external-disk/foo
181721 /media/sda4/foo
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下这种巨大的差异吗?为什么我没有得到相同的结果?这几天让我发疯。还有一些其他分区,我也遇到了类似的差异。
两个分区都是ext4.
linux-70e2:/ # mount | grep sda4
/dev/nvme0n1p5 on /media/sda4 type ext4 (rw,relatime,data=ordered)
/dev/sda4 on /mnt/external-disk type …Run Code Online (Sandbox Code Playgroud) 在我的本地机器上,我有一个这样的文件夹结构
/a/b
/a/c
/d/e
/d/f
Run Code Online (Sandbox Code Playgroud)
我想rsync的/a/c和/d/f到远程服务器,以便之后它具有类似的文件夹结构
/a/c
/d/f
Run Code Online (Sandbox Code Playgroud)
我必须两次调用 rsync 还是有一个选项可以自动保留文件夹结构?
我目前使用rsync本地 USB 驱动器备份我的 Fedora Linux 服务器。到目前为止,这似乎适合我的需求,但我怀疑有更好的方法来解决这个问题。很久以前,我曾经使用磁带,但是用于备份服务器的大小的磁带备份现在的价格超出了我的价格范围。自动化的东西会更好。虽然我想我可以自动执行我当前的rsync备份,但这意味着一直保持 USB 驱动器打开。
想法?
我想做一些类似 gzip 文件的操作,然后立即将其 rsync 到另一台服务器,这样创建的 gzip 文件就不会写入本地服务器。我正在考虑做这样的事情......但显然这失败了。
gzip 文件 | rsync -auv another_server
有人对此有任何想法吗?或者这甚至可能吗?
我只是想使用 rsync 将目录从一台主服务器复制到另一台,两者都运行 Ubuntu(9.04 和 9.10)。我遇到的问题是目录(和子目录)中的某些文件归 root 所有。两台机器上的主要管理员帐户都是“ben”,所以在旧服务器上运行它:
rsync -v -u -a -p -t -rsh=ssh --stats --progress source/ ben@newserver:/dest
Run Code Online (Sandbox Code Playgroud)
提示我输入 ben@newserver 的密码,复制 source/ 但所有权限在新目的地都是“ben”。使用 sudo 运行它意味着我可以访问 root 的文件,但另一方面,ben 不能将它们写为属于 root。发送到 root@newserver 要求输入 root 的密码,Ubuntu 没有给你。
谁能简单地解释一下如何做到这一点?谢谢 :)
我需要有一个脚本通过 ssh 从远程主机定期 rsync 文件。运行脚本的帐户在远程主机上没有主目录,因此我无法将我的公钥存储在远程主机上。我很高兴将我的密码存储在本地主机上的文件中,但我似乎无法让 rsync 使用该密码。
该--password-file选项只是用于连接到 rsync 守护程序的选项,密码提示不会从 stdin 中读取。
我正在从 MAC 中的文件夹备份数据。MAC 不必要地创建一些以 . 喜欢
.dsdfsd or ._hjdds
Run Code Online (Sandbox Code Playgroud)
现在我想排除以 . 在 rsync 中。
我怎样才能做到这一点