我有多个虚拟机,每台机器都备份到同一个备份存储(GlusterFS;它使用保险丝挂载),但是备份到不同的备份目录中。例如,/var/www/
将备份到此目录:
/mnt/backup/server001/duply/www/
/mnt/backup/server002/duply/www/
/mnt/backup/server003/duply/www/
...
/mnt/backup/serverXXX/duply/www/
...
作为备份软件,我正在使用duply / duplicity。如果我知道,文件夹或文件在哪个服务器上,我可以连接到此服务器并运行此命令来恢复它:
duply www-backup fetch www.example.com/ /var/www/www.example.com/ 1D
Unfortunatley,这仅适用于从此服务器上备份的文件和目录。
今天,我遇到了问题,我已经删除了一段时间去了一个网站而又记不住自己,在托管的服务器上。嗯......这意味着,我需要连接到每个单独的主机,并且需要运行restore命令来检查,如果它可以从那里获得。
我没有时间在每台服务器上执行此操作。嗯...有没有办法使用file://从备份中获取它,即使我不知道,它在哪里?
我已经尝试使用以下命令获取它,但它没有用,因为这些目录不包含任何备份链:
duplicity --force file:///mnt/backup/ /var/www/www.example.com/
有什么想法吗?
# duplicity --version
duplicity 0.6.23
答案 0 :(得分:1)
是,
如果您有本地或以其他方式访问此GlusterFS存储,例如。假设它将安装在/ mnt / backup /下,您可以使用文件目标列出并从中恢复。
我建议首先列出/点击,当你发现包含你的文件夹的备份仓库从那里恢复时
对每个备份文件夹重复此操作(请注意目标URL中的三个斜杠以获取绝对文件路径)
duplicity list-current-files [options] [--time time] file:///mnt/backup/server[num]/duply/www/
然后在找到文件夹时进行恢复(使用列表中显示的文件夹名称,备份基础文件夹的相对路径)
duplicity [restore] [options] --file-to-restore www.example.com [--time time] /mnt/backup/server[num]/duply/www/ /var/www/www.example.com
[方括号]中的参数是可选的。
希望有帮助.. ede / duply.net