Ejemplo n.º 1
0
def run_backup():
    """
    Main method that performs the backup.
    """
    commandArgs = getArgs()
    if commandArgs.version:
        print("caatinga version: " + __version__)
        exit(0)

    settings = fn.getSettingsInstance(commandArgs)
    lockFileName = settings.hostName + "-caatinga"
    SettingsValidator().validate(settings)
    bkHome = fn.getBackupHome(settings.backupLocation, settings.hostName)
    lockFile = backup.getLockFile("/tmp", lockFileName)
    outWriter = fn.getOutputWriter(commandArgs.verbose)
    previousBackup = os.path.realpath(fn.getLatestLink(bkHome))

    fn.runHooks(settings.preBackupHooksDir)
    checkForRegisterOption(settings, commandArgs, bkHome)
    insureBackupLocationIsRegistered(
        settings.backupLocation,
        settings.hostName)
    lock(lockFile)
    runNonBackupFunctions(bkHome, settings, commandArgs, outWriter, lockFile)
    executeBackup(bkHome, previousBackup, settings, outWriter, lockFile)
    runMaintenanceFunctions(bkHome, settings, outWriter)
    fn.runHooks(settings.postBackupHooksDir)
Ejemplo n.º 2
0
 def test_getLatestLink(self):
     latest = fn.getLatestLink(self._backupHome)
     self.assertEqual(
         latest,
         "backups_test/Latest",
         "Incorrect latest link returned: {0}".format(latest))