bug fix to remote backups

This commit is contained in:
usmannasir
2018-08-18 03:56:25 +05:00
parent 930e1a2f8e
commit b22b52da56
3 changed files with 79 additions and 88 deletions

View File

@@ -19,6 +19,36 @@ class backupSchedule:
except IOError,msg: except IOError,msg:
return "Can not write to error file." return "Can not write to error file."
@staticmethod
def createLocalBackup(virtualHost, backupLogPath):
try:
backupSchedule.remoteBackupLogging(backupLogPath, "Starting local backup for: " + virtualHost)
finalData = json.dumps({'websiteToBeBacked': virtualHost})
r = requests.post("http://localhost:5003/backup/submitBackupCreation", data=finalData)
data = json.loads(r.text)
backupPath = data['tempStorage']
backupSchedule.remoteBackupLogging(backupLogPath, "Waiting for backup to complete.. ")
while (1):
r = requests.post("http://localhost:5003/backup/backupStatus", data=finalData)
time.sleep(2)
data = json.loads(r.text)
if data['backupStatus'] == 0:
backupSchedule.remoteBackupLogging(backupLogPath, "An error occurred, Error message: " + data[
'error_message'])
return 0, backupPath
elif data['abort'] == 1:
backupSchedule.remoteBackupLogging(backupLogPath, "Backup Completed for: " + virtualHost)
return 1, backupPath
except BaseException, msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [startBackup]")
@staticmethod @staticmethod
def createBackup(virtualHost, ipAddress, backupLogPath , port): def createBackup(virtualHost, ipAddress, backupLogPath , port):
@@ -27,42 +57,40 @@ class backupSchedule:
backupSchedule.remoteBackupLogging(backupLogPath, "Preparing to create backup for: " + virtualHost) backupSchedule.remoteBackupLogging(backupLogPath, "Preparing to create backup for: " + virtualHost)
backupSchedule.remoteBackupLogging(backupLogPath, "Backup started for: " + virtualHost) backupSchedule.remoteBackupLogging(backupLogPath, "Backup started for: " + virtualHost)
finalData = json.dumps({'websiteToBeBacked': virtualHost}) retValues = backupSchedule.createLocalBackup(virtualHost, backupLogPath)
r = requests.post("http://localhost:5003/backup/submitBackupCreation", data=finalData)
data = json.loads(r.text) if retValues[0] == 1:
backupPath = data['tempStorage'] backupPath = retValues[1]
backupSchedule.remoteBackupLogging(backupLogPath, "Backup created for: " + virtualHost)
## Prepping to send backup.
backupSchedule.remoteBackupLogging(backupLogPath, "Preparing to send backup for: " + virtualHost +" to " + ipAddress)
backupSchedule.sendBackup(backupPath+".tar.gz", ipAddress, backupLogPath, port)
backupSchedule.remoteBackupLogging(backupLogPath, "Backup for: " + virtualHost + " is sent to " + ipAddress)
## Backup sent.
while (1): backupSchedule.remoteBackupLogging(backupLogPath, "")
r = requests.post("http://localhost:5003/backup/backupStatus", data= finalData) backupSchedule.remoteBackupLogging(backupLogPath, "")
time.sleep(2)
data = json.loads(r.text)
if data['backupStatus'] == 0: backupSchedule.remoteBackupLogging(backupLogPath, "#################################################")
break
elif data['abort'] == 1:
break
backupSchedule.remoteBackupLogging(backupLogPath, "Backup created for: " + virtualHost) backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "")
else:
## Prepping to send backup. backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "Preparing to send backup for: " + virtualHost +" to " + ipAddress) backupSchedule.remoteBackupLogging(backupLogPath, "#################################################")
backupSchedule.sendBackup(backupPath+".tar.gz", ipAddress, backupLogPath, port) backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "Backup for: " + virtualHost + " is sent to " + ipAddress)
## Backup sent.
backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "#################################################")
backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "")
except BaseException,msg: except BaseException,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [createBackup]") logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [createBackup]")
@@ -138,6 +166,11 @@ class backupSchedule:
if match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', virtualHost, M | I): if match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', virtualHost, M | I):
backupSchedule.createBackup(virtualHost, ipAddress, backupLogPath, port) backupSchedule.createBackup(virtualHost, ipAddress, backupLogPath, port)
backupSchedule.remoteBackupLogging(backupLogPath, "Remote backup job completed.\n")
except BaseException,msg: except BaseException,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [prepare]") logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [prepare]")

View File

@@ -1,53 +1,10 @@
import thread
import pexpect
import CyberCPLogFileWriter as logging import CyberCPLogFileWriter as logging
import subprocess
import shlex
from shutil import rmtree
import os import os
import requests
import json
import time import time
from backupSchedule import backupSchedule
class backupScheduleLocal: class backupScheduleLocal:
@staticmethod
def createBackup(virtualHost,writeToFile):
try:
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + " Starting local backup for: "+virtualHost + "\n")
finalData = json.dumps({'websiteToBeBacked': virtualHost})
requests.post("http://localhost:5003/backup/submitBackupCreation", data=finalData)
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + " Waiting for backup to complete.. " + "\n")
while (1):
r = requests.post("http://localhost:5003/backup/backupStatus", data= finalData)
time.sleep(2)
data = json.loads(r.text)
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + " Waiting for backup to complete.. " + "\n")
if data['backupStatus'] == 0:
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + "An error occurred, Error message: " + data['error_message'] + "\n")
break
elif data['abort'] == 1:
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + " Backup Completed for: " + virtualHost + "\n")
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + " #############################################" + "\n")
break
except BaseException,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [startBackup]")
@staticmethod @staticmethod
def prepare(): def prepare():
try: try:
@@ -55,24 +12,25 @@ class backupScheduleLocal:
writeToFile = open(backupLogPath, "a") writeToFile = open(backupLogPath, "a")
writeToFile.writelines("#################################################\n") backupSchedule.remoteBackupLogging(backupLogPath, "#################################################")
writeToFile.writelines(" Backup log for: " + time.strftime("%I-%M-%S-%a-%b-%Y") + "\n") backupSchedule.remoteBackupLogging(backupLogPath," Local Backup log for: " + time.strftime("%I-%M-%S-%a-%b-%Y"))
writeToFile.writelines("#################################################\n") backupSchedule.remoteBackupLogging(backupLogPath, "#################################################\n")
writeToFile.writelines("\n") backupSchedule.remoteBackupLogging(backupLogPath, "")
writeToFile.writelines("\n") backupSchedule.remoteBackupLogging(backupLogPath, "")
for virtualHost in os.listdir("/home"): for virtualHost in os.listdir("/home"):
backupScheduleLocal.createBackup(virtualHost,writeToFile) backupSchedule.createLocalBackup(virtualHost, backupLogPath)
writeToFile.writelines("\n") backupSchedule.remoteBackupLogging(backupLogPath, "")
writeToFile.writelines("\n") backupSchedule.remoteBackupLogging(backupLogPath, "")
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + " #############################################" + "\n") backupSchedule.remoteBackupLogging(backupLogPath, "#################################################")
writeToFile.writelines("[" + time.strftime(
"%I-%M-%S-%a-%b-%Y") + "]" + " Local Backup Completed" + "\n") backupSchedule.remoteBackupLogging(backupLogPath, "")
writeToFile.writelines("[" + time.strftime( backupSchedule.remoteBackupLogging(backupLogPath, "")
"%I-%M-%S-%a-%b-%Y") + "]" + " #############################################" + "\n")
backupSchedule.remoteBackupLogging(backupLogPath, "Local backup job completed.\n")
writeToFile.close() writeToFile.close()

View File

@@ -533,7 +533,7 @@ app.controller('createACLCTRL', function($scope,$http) {
var data = { var data = {
aclName : $scope.aclName, aclName : $scope.aclName,
makeAdmin : $scope.makeAdmin = true, makeAdmin : $scope.makeAdmin,
// //
versionManagement : $scope.versionManagement, versionManagement : $scope.versionManagement,