def mutate_pack_backup(self, i): import random from shutil import copyfile from time import gmtime from time import sleep self.db.mutate() # Pack about each tenth time. if random.random() < 0.1: if _NOISY: print "packing" self.db.pack() self.db.close() # Make an incremental backup, half the time with gzip (-z). argv = ['-BQr', self.backupdir, '-f', 'Data.fs'] if _NOISY: argv.insert(0, '-v') if random.random() < 0.5: argv.insert(0, '-z') self._callRepozoMain(argv) # Save snapshots to assert that dated restores are possible if i % 9 == 0: srcname = os.path.join(self.datadir, 'Data.fs') copytime = '%04d-%02d-%02d-%02d-%02d-%02d' % (gmtime()[:6]) copyname = os.path.join(self.copydir, "Data%d.fs" % i) copyfile(srcname, copyname) self.saved_snapshots.append((copyname, copytime)) # Make sure the clock moves at least a second. sleep(1.01) # Verify current Data.fs can be reproduced exactly. self.assertRestored()
def mutate_pack_backup(self, i): import random from shutil import copyfile from time import gmtime from time import sleep self.db.mutate() # Pack about each tenth time. if random.random() < 0.1: if _NOISY: print("packing") self.db.pack() self.db.close() # Make an incremental backup, half the time with gzip (-z). argv = ['-BQr', self.backupdir, '-f', 'Data.fs'] if _NOISY: argv.insert(0, '-v') if random.random() < 0.5: argv.insert(0, '-z') self._callRepozoMain(argv) # Save snapshots to assert that dated restores are possible if i % 9 == 0: srcname = os.path.join(self.datadir, 'Data.fs') copytime = '%04d-%02d-%02d-%02d-%02d-%02d' % (gmtime()[:6]) copyname = os.path.join(self.copydir, "Data%d.fs" % i) copyfile(srcname, copyname) self.saved_snapshots.append((copyname, copytime)) # The clock moves forward automatically on calls to time.time() # Verify current Data.fs can be reproduced exactly. self.assertRestored()
def _callFUT(self, options, dest, start, n): from ZODB.scripts.repozo import copyfile return copyfile(options, dest, start, n)