我正在尝试使用rdiff-backup来为Ubuntu 8.04LTS服务器中的某些文件夹创build备份副本。
我试图用另一台更现代的Ubuntu发行版(9.10)在另一台服务器上做备份。 我将这称为“客户”。
需要在客户端和服务器上安装rdiff-backup。 它在两台机器上的apt存储库上都可用,所以我使用sudo apt-get install rdiff-backup来安装它。
问题是安装在服务器上的版本比客户机上的版本旧(1.1.15 vs 1.2.8)。 因此,当我尝试让他们一起工作时,我会遇到错误。
所以我需要两个版本是一样的。
这些情况下的标准程序是什么? 我应该尝试升级服务器上的版本还是降级客户端上的版本? 我该怎么做?
如果有用的话,我想指出rdiff-backup apt-package有一些依赖 – librsync1 & python-support
附上错误,我得到的情况下,他们帮助:
rdiff-backup egarcia@test::/var/rails/ohwr/backup /home/kikito/backup/files Warning: Local version 1.2.8 does not match remote version 1.1.15. Exception ' Warning Security Violation! Bad request for function: rpath.make_file_dict with arguments: ['/var/rails/ohwr/backup'] ' raised of class '<class 'rdiff_backup.Security.Violation'>': File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main try: Main(arglist) File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main rps = map(SetConnections.cmdpair2rp, cmdpairs) File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 78, in cmdpair2rp return rpath.RPath(conn, filename).normalize() File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 884, in __init__ else: self.setdata() File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 908, in setdata self.data = self.conn.rpath.make_file_dict(self.path) File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__ return apply(self.connection.reval, (self.name,) + args) File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 370, in reval if isinstance(result, Exception): raise result Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 30, in <module> rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main try: Main(arglist) File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main rps = map(SetConnections.cmdpair2rp, cmdpairs) File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 78, in cmdpair2rp return rpath.RPath(conn, filename).normalize() File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 884, in __init__ else: self.setdata() File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 908, in setdata self.data = self.conn.rpath.make_file_dict(self.path) File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__ return apply(self.connection.reval, (self.name,) + args) File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 370, in reval if isinstance(result, Exception): raise result rdiff_backup.Security.Violation: Warning Security Violation! Bad request for function: rpath.make_file_dict with arguments: ['/var/rails/ohwr/backup']
在客户端或服务器上,运行“aptitude search rdiff-backup”。
你可能会在软件包名称中看到具有特定版本号的rdiff-backup版本(我在Debian上得到这个版本)。 卸载通用版本并安装客户端和服务器上可用的最高版本。
在经历了同样的问题之后,我创build了一个PPA,即使对于较老的Ubuntu版本,也提供了当前的rdiff备份。
https://launchpad.net/~rdiff-backup-pkgs/+archive/ppa/+packages
当然,你真的不应该安装陌生人提供的随机deb文件。 因此,您可能需要首先在软件包源文件中find一个高峰,以查看软件包与原始上游源文件的不同之处。