]> git.siccegge.de Git - tools.git/blobdiff - backup-zfs
rebuild actual zonefiles
[tools.git] / backup-zfs
index 476d903a34994459067f7271ee4786ec68139d03..4ebb78bc9bd292b4d23e89c763f8c9fbd33ad9d8 100755 (executable)
@@ -107,8 +107,10 @@ def sftp_send(dataset, reference=None):
         print_colored("Error:\n\n" + gpg.stderr, 'red')
         return
 
+    lastflush = 0
     with open('/tmp/SHA256SUM', 'a') as digestfile:
         with sftp.open(filename, 'xw', BUFFER) as remotefile:
+            remotefile.set_pipelined()
             digest = hashlib.sha256()
             sys.stdout.write(term['purple'])
             done = 0
@@ -125,6 +127,11 @@ def sftp_send(dataset, reference=None):
                     sys.stdout.write("     \r%s %.3f GB      (%.3f MB/s)" % (term['green'], (1.0 * done) / (1024 ** 3), (done / (1024 ** 2 *(time.time() - startt)))))
                     sys.stdout.flush()
                 remotefile.write(junk)
+
+                if done - lastflush > 128 * 1024**2:
+                    remotefile.flush()
+                    lastflush = done
+
                 digest.update(junk)
                 junk = gpg.stdout.read(BUFFER)