mirror of
https://github.com/psy0rz/zfs_autobackup.git
synced 2025-06-13 02:12:07 +03:00
Merge pull request #7 from mariusvw/hotfix/hanging-empty-filesystems
Hotfix/hanging empty filesystems
This commit is contained in:
commit
9339257e09
@ -164,26 +164,28 @@ return[filesystem_name]=[ "snashot1", "snapshot2", ... ]
|
|||||||
"""
|
"""
|
||||||
def zfs_get_snapshots(ssh_to, filesystems, backup_name):
|
def zfs_get_snapshots(ssh_to, filesystems, backup_name):
|
||||||
|
|
||||||
snapshots=run(ssh_to=ssh_to, input="\0".join(filesystems), valid_exitcodes=[ 0,1 ], cmd=
|
|
||||||
[ "xargs", "-0", "-n", "1", "zfs", "list", "-d", "1", "-r", "-t" ,"snapshot", "-H", "-o", "name" ]
|
|
||||||
)
|
|
||||||
|
|
||||||
ret={}
|
ret={}
|
||||||
for snapshot in snapshots:
|
|
||||||
(filesystem, snapshot_name)=snapshot.split("@")
|
|
||||||
if re.match("^"+backup_name+"-[0-9]*$", snapshot_name):
|
|
||||||
if not filesystem in ret:
|
|
||||||
ret[filesystem]=[]
|
|
||||||
ret[filesystem].append(snapshot_name)
|
|
||||||
|
|
||||||
#also add any test-snapshots that where created with --test mode
|
if filesystems:
|
||||||
if args.test:
|
snapshots=run(ssh_to=ssh_to, input="\0".join(filesystems), valid_exitcodes=[ 0,1 ], cmd=
|
||||||
if ssh_to in test_snapshots:
|
[ "xargs", "-0", "-n", "1", "zfs", "list", "-d", "1", "-r", "-t" ,"snapshot", "-H", "-o", "name" ]
|
||||||
for filesystem in filesystems:
|
)
|
||||||
if filesystem in test_snapshots[ssh_to]:
|
|
||||||
if not filesystem in ret:
|
for snapshot in snapshots:
|
||||||
ret[filesystem]=[]
|
(filesystem, snapshot_name)=snapshot.split("@")
|
||||||
ret[filesystem].extend(test_snapshots[ssh_to][filesystem])
|
if re.match("^"+backup_name+"-[0-9]*$", snapshot_name):
|
||||||
|
if not filesystem in ret:
|
||||||
|
ret[filesystem]=[]
|
||||||
|
ret[filesystem].append(snapshot_name)
|
||||||
|
|
||||||
|
#also add any test-snapshots that where created with --test mode
|
||||||
|
if args.test:
|
||||||
|
if ssh_to in test_snapshots:
|
||||||
|
for filesystem in filesystems:
|
||||||
|
if filesystem in test_snapshots[ssh_to]:
|
||||||
|
if not filesystem in ret:
|
||||||
|
ret[filesystem]=[]
|
||||||
|
ret[filesystem].extend(test_snapshots[ssh_to][filesystem])
|
||||||
|
|
||||||
return(ret)
|
return(ret)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user