fixconfiguregdrive

This commit is contained in:
unknown
2023-04-08 00:12:51 +05:00
parent 2d26b937a3
commit 4e22a1e6f0
3 changed files with 61 additions and 55 deletions

View File

@@ -23,10 +23,9 @@ urlpatterns = [
url(r'^removeSite$', views.remove_site, name='removeSite'), url(r'^removeSite$', views.remove_site, name='removeSite'),
url(r'^addWebsite$', views.add_website, name='addWebsite'), url(r'^addWebsite$', views.add_website, name='addWebsite'),
### V2 Backups URls ### V2 Backups URls
url(r'^CreateV2Backup$', views.CreateV2Backup, name='CreateV2Backup'), url(r'^CreateV2Backup$', views.CreateV2Backup, name='CreateV2Backup'),
url(r'^ConfigureV2Backup$', views.ConfigureV2Backup, name='ConfigureV2Backup'), url(r'^ConfigureV2Backup$', views.ConfigureV2Backup, name='ConfigureV2Backup'),
url(r'^ConfigureV2BackupSetup$', views.createV2BackupSetup, name='ConfigureV2BackupSetup'), url(r'^ConfigureV2BackupSetup$', views.ConfigureV2BackupSetup, name='ConfigureV2BackupSetup'),
url(r'^RestoreV2backupSite$', views.RestoreV2backupSite, name='RestoreV2backupSite'), url(r'^RestoreV2backupSite$', views.RestoreV2backupSite, name='RestoreV2backupSite'),
url(r'^selectwebsiteRetorev2$', views.selectwebsiteRetorev2, name='selectwebsiteRetorev2'), url(r'^selectwebsiteRetorev2$', views.selectwebsiteRetorev2, name='selectwebsiteRetorev2'),
url(r'^selectreporestorev2$', views.selectreporestorev2, name='selectreporestorev2'), url(r'^selectreporestorev2$', views.selectreporestorev2, name='selectreporestorev2'),

View File

@@ -731,15 +731,7 @@ def ConfigureV2Backup(request):
logging.writeToFile(str(msg)) logging.writeToFile(str(msg))
return redirect(loadLoginPage) return redirect(loadLoginPage)
def CreateV2Backup(request): def ConfigureV2BackupSetup(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.CreateV2backupSite(request, userID)
except KeyError:
return redirect(loadLoginPage)
def createV2BackupSetup(request):
try: try:
userID = request.session['userID'] userID = request.session['userID']
@@ -771,6 +763,15 @@ def createV2BackupSetup(request):
return ConfigureV2Backup(request) return ConfigureV2Backup(request)
except BaseException as msg:
logging.writeToFile("Error configure"+str(msg))
return redirect(loadLoginPage)
def CreateV2Backup(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.CreateV2backupSite(request, userID)
except KeyError: except KeyError:
return redirect(loadLoginPage) return redirect(loadLoginPage)
@@ -801,7 +802,6 @@ def CreateV2BackupButton(request):
extra_args['BackupEmails'] = data['websiteEmails'] if 'websiteEmails' in data else False extra_args['BackupEmails'] = data['websiteEmails'] if 'websiteEmails' in data else False
extra_args['BackupDatabase'] = data['websiteDatabases'] if 'websiteDatabases' in data else False extra_args['BackupDatabase'] = data['websiteDatabases'] if 'websiteDatabases' in data else False
background = CPBackupsV2(extra_args) background = CPBackupsV2(extra_args)
background.start() background.start()
# background = CPBackupsV2({'domain': Selectedwebsite, 'BasePath': '/home/backup', 'BackupDatabase': 1, 'BackupData': 1, # background = CPBackupsV2({'domain': Selectedwebsite, 'BasePath': '/home/backup', 'BackupDatabase': 1, 'BackupData': 1,

View File

@@ -40,8 +40,11 @@ class CPBackupsV2(multi.Thread):
def __init__(self, data): def __init__(self, data):
multi.Thread.__init__(self) multi.Thread.__init__(self)
self.data = data self.data = data
try:
self.function = data['function'] self.function = data['function']
except:
pass
### set self.website as it is needed in many functions ### set self.website as it is needed in many functions
from websiteFunctions.models import Websites from websiteFunctions.models import Websites
@@ -90,7 +93,8 @@ class CPBackupsV2(multi.Thread):
return 0, str(msg) return 0, str(msg)
def SetupRcloneBackend(self, type, config): def SetupRcloneBackend(self, type, config):
try:
logging.CyberCPLogFileWriter.writeToFile(' [Configure.1]')
self.LocalRclonePath = f'/home/{self.website.domain}/.config/rclone' self.LocalRclonePath = f'/home/{self.website.domain}/.config/rclone'
self.ConfigFilePath = f'{self.LocalRclonePath}/rclone.conf' self.ConfigFilePath = f'{self.LocalRclonePath}/rclone.conf'
@@ -99,26 +103,26 @@ class CPBackupsV2(multi.Thread):
command = f'cat {self.ConfigFilePath}' command = f'cat {self.ConfigFilePath}'
CurrentContent = ProcessUtilities.outputExecutioner(command, self.website.externalApp) CurrentContent = ProcessUtilities.outputExecutioner(command, self.website.externalApp)
logging.CyberCPLogFileWriter.writeToFile(' [Configure.2]')
try: try:
if CurrentContent.find('No such file or directory'): if CurrentContent.find('No such file or directory'):
CurrentContent = '' CurrentContent = ''
except: except:
CurrentContent = '' CurrentContent = ''
logging.CyberCPLogFileWriter.writeToFile(' [Configure.3]')
if type == CPBackupsV2.SFTP: if type == CPBackupsV2.SFTP:
## config = {"name":, "host":, "user":, "port":, "path":, "password":,} ## config = {"name":, "host":, "user":, "port":, "path":, "password":,}
command = f'rclone obscure {config["password"]}' command = f'rclone obscure {config["password"]}'
ObsecurePassword = ProcessUtilities.outputExecutioner(command).rstrip('\n') ObsecurePassword = ProcessUtilities.outputExecutioner(command).rstrip('\n')
content = f'''{CurrentContent} content = f'''{CurrentContent}
[{config["name"]}] [{config["name"]}]
type = sftp type = sftp
host = {config["host"]} host = {config["host"]}
user = {config["user"]} user = {config["user"]}
pass = {ObsecurePassword} pass = {ObsecurePassword}
''' '''
command = f"echo '{content}' >> {self.ConfigFilePath}" command = f"echo '{content}' >> {self.ConfigFilePath}"
ProcessUtilities.executioner(command, self.website.externalApp, True) ProcessUtilities.executioner(command, self.website.externalApp, True)
@@ -129,7 +133,7 @@ pass = {ObsecurePassword}
final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": None}) final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": None})
return HttpResponse(final_json) return HttpResponse(final_json)
elif type == CPBackupsV2.GDrive: elif type == CPBackupsV2.GDrive:
logging.CyberCPLogFileWriter.writeToFile(' [Configure.4]')
token = """{"access_token":"%s","token_type":"Bearer","refresh_token":"%s"}""" % ( token = """{"access_token":"%s","token_type":"Bearer","refresh_token":"%s"}""" % (
config["token"], config["refresh_token"]) config["token"], config["refresh_token"])
@@ -149,6 +153,9 @@ token = {token}
command = f"chmod 600 {self.ConfigFilePath}" command = f"chmod 600 {self.ConfigFilePath}"
ProcessUtilities.executioner(command, self.website.externalApp) ProcessUtilities.executioner(command, self.website.externalApp)
logging.CyberCPLogFileWriter.writeToFile(' [Configure.5]')
except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + ' [Configure.run]')
@staticmethod @staticmethod
def FetchCurrentTimeStamp(): def FetchCurrentTimeStamp():