import random, re
+Mode = ["full", "incr", "diff"]
+
+Epoch = { "hour" : datetime.timedelta(0, 3600), \
+ "day" : datetime.timedelta(1), \
+ "week" : datetime.timedelta(7), \
+ "month" : datetime.timedelta(30), \
+ "year" : datetime.timedelta(365) }
+
+class Backup:
+ """A single backup has a date, an epoch and a mode."""
+
+ def __init__(self, date, epoch, mode):
+ self.date = date
+ self.epoch = epoch
+ self.mode = mode
+
+ def __str__(self):
+ return "[date: " + self.date.ctime() + \
+ ", epoch: " + self.epoch + \
+ ", mode: " + self.mode + "]"
+
+ @staticmethod
+ def getDirName(date, epoch, mode):
+ """Get directory name of backup by given properties."""
+ return date.strftime("%Y%m%d-%H%M") + "-" + epoch + "-" + mode
+
+ @staticmethod
+ def isBackupDir(dirname):
+ """Is directory a backup directory?"""
+ p = re.compile(r'^\d\d\d\d\d\d\d\d-\d\d\d\d-\w+-\w+$')
+ return p.match(dirname)
+
+
+
+
class Config:
"""Encapsules the configuration for the backup program."""
self.lastchecksum = None
-Mode = ["full", "incr", "diff"]
-
-Epoch = { "hour" : datetime.timedelta(0, 3600), \
- "day" : datetime.timedelta(1), \
- "week" : datetime.timedelta(7), \
- "month" : datetime.timedelta(30), \
- "year" : datetime.timedelta(365) }
-
-class Backup:
- """A single backup has a date, an epoch and a mode."""
-
- def __init__(self, date, epoch, mode):
- self.date = date
- self.epoch = epoch
- self.mode = mode
-
- def __str__(self):
- return "[date: " + self.date.ctime() + \
- ", epoch: " + self.epoch + \
- ", mode: " + self.mode + "]"
-
- @staticmethod
- def getDirName(date, epoch, mode):
- """Get directory name of backup by given properties."""
- return date.strftime("%Y%m%d-%H%M") + "-" + epoch + "-" + mode
-
- @staticmethod
- def isBackupDir(dirname):
- """Is directory a backup directory?"""
- p = re.compile(r'^\d\d\d\d\d\d\d\d-\d\d\d\d-\w+-\w+$')
- return p.match(dirname)
-
-
class BackupManager:
"""List and create backups"""
mode = self.conf.epochmodes[epoch]
print("Making a backup. Epoch: " + epoch + ", mode: " + mode)
- oldfullbackups = [ b for b in oldbackups if b.mode=="full" ]
+ oldfullbackups = [ b for b in oldbackups if b.mode == "full" ]
# No old full backups existing
if mode != "full" and len(oldfullbackups)==0:
conffn = "/etc/shbackup.conf"
- i=0
+ i = 0
while i < len(sys.argv)-1:
i += 1
opt = sys.argv[i]