mirror of
				https://github.com/usmannasir/cyberpanel.git
				synced 2025-10-31 10:26:01 +01:00 
			
		
		
		
	bug fix to remote backups
This commit is contained in:
		| @@ -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]") | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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() | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user