我刚刚注意到 rsync 的 3.0.9 和 3.1.0 版本之间存在差异。
运行命令
$ rsync -a --delete --backup --backup-dir=../old source/ dest/
版本 3.1.0 给出输出
Created backup_dir ../old/
即使没有文件被复制到备份目录。我通常将当前时间添加到备份目录名称中,这意味着我最终会得到许多空目录。使用 3.0.9 版 rsync,仅在需要时创建备份目录。
我的问题是:
是的,这是有意的行为。Bug 号 11423已提交,并在 3.1.2 版本中改回。
https://bugzilla.samba.org/show_bug.cgi?id=11423#c12:
虽然我仍然喜欢在传输开始时对顶级备份目录进行新的早期验证,但我被说服让它返回到需要时才创建目录。已针对即将发布的 3.1.2 版本进行修复。
虽然大多数发行版尚未提供 3.1.2 版的软件包,但它的编译确实快速且容易:我在 Debian Jessie 上执行了以下操作,一切顺利,将新版本安装到/usr/local/bin
:
wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar xvf rsync-3.1.2.tar.gz -C /tmp/
cd /tmp/rsync-3.1.2/
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)
如果您将它用作守护程序,您的初始化脚本可能会通过其完整路径来调用它,因此您可能还想将其替换为新版本的链接:
/etc/init.d/rsync stop
mv /usr/bin/rsync /usr/bin/rsync.old
ln -si ../local/bin/rsync /usr/bin/rsync
/etc/init.d/rsync start
Run Code Online (Sandbox Code Playgroud)
更新:如果您使用的是 Debian Jessie,您实际上可以从Debian Stretch安装 rsync 软件包:
wget "http://ftp.ch.debian.org/debian/pool/main/r/rsync/rsync_3.1.2-1_amd64.deb"
dpkg -i rsync_3.1.2-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1712 次 |
最近记录: |