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
