ich habe noch einen Python-Code, der
ein Backup von einer externen USB-Festplatte in ein lokales
Home-Verzeichnis übertragen soll!
Code: Alles auswählen
#!/usr/bin/env python
import os
FROM = '/media/werner/USB1/'
TO_TMP = '/home/werner/Restore/'
TO_MULTI = TO_TMP + '/multivol_snapshot'
TO_SNAP = TO_TMP + '/snapshot'
def do(stuff):
print stuff
os.system(stuff)
def m2s(path):
assert path.startswith(TO_MULTI), 'It must be a multivol path'
tmp = path.replace(TO_MULTI, TO_SNAP, 1)
if tmp.endswith('/'):
tmp = tmp[:-1]
return tmp
def main():
# restore broken dejadup / duplicity fullbackup without manifest
# Step One
# untar
os.chdir(TO_TMP)
do("for t in \"" + FROM + "/\"*.difftar; do echo $t; "
"tar xvfi \"$t\"; done;")
# Step Two
# join multipart files
for (path, dirs, files) in os.walk(TO_MULTI):
print path
if len(dirs) == 0:
# add leading zeros for more than 10 parts
for f in files:
os.rename(os.path.join(path, f),os.path.join(path, str(f).zfill(10)))
# we need to combine all these elements
do("cat \"" + path + "\"/* > \"" + m2s(path) + "\"")
#do("rm *")
else:
do("mkdir -p \"" + m2s(path) + "\"")
if __name__ == '__main__':
main()
Bringt er folgende Fehlermeldung:
tar: Unerwartetes Dateiende im Archiv.
tar: »rmtlseek« nicht an Recordgrenze angehalten
tar: Error is not recoverable: exiting no
Was ist zu tun?
Mfg
Srunz_1975