|
From: | Madan Kumar |
Subject: | [rdiff-backup-users] problem while restoring |
Date: | Thu, 17 Jul 2008 17:03:32 +0530 |
Hi All,
I am using rdiff-backup on windows XP and
on Vista.
I am abe to take the backups
successfully.
While restoring backups I am running following
command:
address@hidden ~ $ rdiff-backup --force -r now adest/ I:/adest1
{adest/ keeps backup+incrementals; adest1/ is the Directory where to restore the backups } I am easily restoring the data from current mirror
ie by using above command. It restore current data(no problem).
I am able to restore the data with latest
incremental(that I have taken one day back) by using following
command::
address@hidden ~ $ rdiff-backup --force -r 1D adest/ I:/adest1
But when I try to restore the data with second last (or any older incremental) that I have taken two days back by using following command:: $ rdiff-backup --force -r 2D adest/ I:/adest1 It gives me error that I am not able to understand. the error message is-: Exception 'basis_file must be a (true) file'
raised of class '<type 'exceptions. TypeError'>':
File "/usr/lib/python2.5/site-packages/rdiff_backup/robust.py", line 32,
in ch eck_common_error try: return
function(*args)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
465, in get_fp
Rdiff.write_patched_fp(current_fp, delta_fp,
new_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Rdiff.py", line 73,
in wri te_patched_fp
rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp),
out_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/librsync.py", line
156, in __init__ raise TypeError("basis_file
must be a (true) file") Exception 'basis_file must be a (true) file'
raised of class '<type 'exceptions. TypeError'>':
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 295,
in err or_check_Main try:
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 315,
in Mai n
take_action(rps)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 281,
in tak e_action elif action ==
"restore-as-of": Restore(rps[0], rps[1], 1)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 490,
in Res tore inc_rpath, dest_rp,
time)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line 37,
in R estore TargetS.patch(target,
diff_iter)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
288, in patch for diff in
rorpiter.FillInIter(diff_iter, target):
File "/usr/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line
177, in FillInIter for rp in
rpiter:
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
244, in get_diffs_from_collated diff =
cls.get_diff(mir_rorp, target_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
257, in get_diff file_fp =
cls.rf_cache.get_fp(expanded_index,
mir_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
351, in get_fp return
rf.get_restore_fp()
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
485, in get_restore_fp return
robust.check_common_error(error_handler,
get_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/robust.py", line 32,
in ch eck_common_error try: return
function(*args)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
465, in get_fp
Rdiff.write_patched_fp(current_fp, delta_fp,
new_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Rdiff.py", line 73,
in wri te_patched_fp
rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp),
out_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/librsync.py", line
156, in __init__ raise TypeError("basis_file
must be a (true) file") Traceback (most recent call
last):
File "/usr/bin/rdiff-backup", line 23, in
<module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 295,
in err or_check_Main try:
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 315,
in Mai n
take_action(rps)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 281,
in tak e_action elif action ==
"restore-as-of": Restore(rps[0], rps[1], 1)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 490,
in Res tore inc_rpath, dest_rp,
time)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line 37,
in R estore TargetS.patch(target,
diff_iter)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
288, in patch for diff in
rorpiter.FillInIter(diff_iter, target):
File "/usr/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line
177, in FillInIter for rp in
rpiter:
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
244, in get_diffs_from_collated diff =
cls.get_diff(mir_rorp, target_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
257, in get_diff file_fp =
cls.rf_cache.get_fp(expanded_index,
mir_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
351, in get_fp return
rf.get_restore_fp()
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
485, in get_restore_fp return
robust.check_common_error(error_handler,
get_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/robust.py", line 32,
in ch eck_common_error try: return
function(*args)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
465, in get_fp
Rdiff.write_patched_fp(current_fp, delta_fp,
new_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Rdiff.py", line 73,
in wri te_patched_fp
rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp),
out_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/librsync.py", line
156, in __init__ raise TypeError("basis_file
must be a (true) file") TypeError: basis_file must be a (true)
file
I will try to make it more clear by giving one example-: 1-Suppose I have one directory in I:\ drive ie I:\Source\a1.txt 2-I am taking the backup of it by using $rdiff-backup -b I:/Source Dest/ (on 17/07/08) 3-Now on 18/07/08 I make changes to this directory and again taking backup: It will create one increment of name(a1.txt.2008-07-17T12;05803;05826+05;05830.diff.gz) 4- Again on 19/07/08 I change this dir and take backup. It will create one increment of name(a1.txt.2008-07-18T12;05804;05839+05;05830.diff.gz) 5- Suppose today is 20/07/08 Now I am going to restore the backups: *It is restoring the data by using current mirror that is latest. with command:- $rdiff-backup --force -r 1D Dest I:/Source1
*If I need the data that was on 18/07/08 I am able to get that with the command:- $rdiff-backup --force -r 2D Dest I:/Source2 It is restoring it by using (a1.txt.2008-07-18T12;05804;05839+05;05830.diff.gz) increment.
*If I need the data that was on 17/07/08 by using command:- $rdiff-backup --force -r 3D Dest I:/Source3 This time it should restore the backups by using (a1.txt.2008-07-17T12;05803;05826+05;05830.diff.gz) increment. But it is giving me the ERROR message that is written before.
Please help me out so that I can restore with any incrementals whether it is latest or old.
Thanks & Regards
M Chauhan
|
[Prev in Thread] | Current Thread | [Next in Thread] |