projects
/
sitarba.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7669666
)
Adding a '-n, --dry-run' option
author
Stefan Huber <shuber@sthu.org>
Sun, 6 Jan 2013 20:18:42 +0000
(21:18 +0100)
committer
Stefan Huber <shuber@sthu.org>
Sun, 6 Jan 2013 20:18:42 +0000
(21:18 +0100)
sitarba
patch
|
blob
|
history
diff --git
a/sitarba
b/sitarba
index b67925fd27435b8c236de566f5bfc58f175ca8c2..160f09b7f165bed39f915b78c00cd6d3ca7d65ee 100755
(executable)
--- a/
sitarba
+++ b/
sitarba
@@
-15,6
+15,11
@@
import logging
Modes = ["full", "incr", "diff"]
Modes = ["full", "incr", "diff"]
+
+class Options:
+ dryrun = False
+
+
class Epoch:
units = {
class Epoch:
units = {
@@
-498,6
+503,9
@@
class BackupManager:
if since != None:
logging.debug("Making backup relative to " + since.ctime())
if since != None:
logging.debug("Making backup relative to " + since.ctime())
+ if Options.dryrun:
+ return
+
yesno = self.ask_user_yesno("Proceed? [Y, n] ")
if yesno == "n":
return
yesno = self.ask_user_yesno("Proceed? [Y, n] ")
if yesno == "n":
return
@@
-507,12
+515,12
@@
class BackupManager:
dirname = Backup.getDirName(now, epoch, mode)
tmpdirname = dirname + ("-%x" % (random.random()*2e16) )
targetdir = os.path.join(basedir, tmpdirname)
dirname = Backup.getDirName(now, epoch, mode)
tmpdirname = dirname + ("-%x" % (random.random()*2e16) )
targetdir = os.path.join(basedir, tmpdirname)
- os.mkdir(
targetdir
)
+ os.mkdir(
targetdir
)
# Add file logger
logfile = logging.getLogger("backuplog")
# Add file logger
logfile = logging.getLogger("backuplog")
- fil = logging.FileHandler(
os.path.join(targetdir, "log")
)
+ fil = logging.FileHandler(
os.path.join(targetdir, "log")
)
fil.setLevel(logging.DEBUG)
logfile.addHandler(fil)
fil.setLevel(logging.DEBUG)
logfile.addHandler(fil)
@@
-579,6
+587,9
@@
class BackupManager:
logging.info("No stale/outdated entries to remove.")
return
logging.info("No stale/outdated entries to remove.")
return
+ if Options.dryrun:
+ return
+
basedir = self.conf.backupdir
yesno = self.ask_user_yesno("Remove entries marked by '*'? [y, N] ")
if yesno == "y":
basedir = self.conf.backupdir
yesno = self.ask_user_yesno("Remove entries marked by '*'? [y, N] ")
if yesno == "y":
@@
-617,6
+628,7
@@
def printUsage():
print(" -e, --epoch EPOCH force to create backup for given epoch, which")
print(" can be 'sporadic' or one of the configured epochs")
print(" -m, --mode MODE override mode: full, diff, or incr")
print(" -e, --epoch EPOCH force to create backup for given epoch, which")
print(" can be 'sporadic' or one of the configured epochs")
print(" -m, --mode MODE override mode: full, diff, or incr")
+ print(" -n, --dry-run don't do anything, just tell what would be done")
print(" -v, --verbose be more verbose and interact with user")
print(" --verbosity LEVEL set verbosity to LEVEL, which can be")
print(" error, warning, info, debug")
print(" -v, --verbose be more verbose and interact with user")
print(" --verbosity LEVEL set verbosity to LEVEL, which can be")
print(" error, warning, info, debug")
@@
-686,6
+698,9
@@
if __name__ == "__main__":
logging.error("Unknown mode '" + mode + "'.")
exit(1)
logging.error("Unknown mode '" + mode + "'.")
exit(1)
+ elif opt in ["-n", "--dry-run"]:
+ Options.dryrun = True
+
elif opt in ["-e", "--epoch"]:
i += 1
epoch = sys.argv[i]
elif opt in ["-e", "--epoch"]:
i += 1
epoch = sys.argv[i]