major bug fix in old backups

This commit is contained in:
Usman Nasir
2021-04-12 16:02:17 +05:00
parent 25aca64ff3
commit 6209dcc632
2 changed files with 69 additions and 10 deletions

View File

@@ -191,7 +191,7 @@ class backupUtilities:
child.text = databaseUser[1]
## Fetch user password
dbuser = DBUsers.objects.get(user=databaseUser[0])
dbuser = DBUsers.objects.get(user=databaseUser[0], host=databaseUser[1])
child = SubElement(databaseUserXML, 'password')
child.text = str(dbuser.password)
@@ -609,14 +609,16 @@ class backupUtilities:
if VERSION == '2.1' and BUILD == '1':
logging.CyberCPLogFileWriter.writeToFile('Backup version 2.1.1 detected..')
databaseUsers = database.findall('databaseUsers')
for databaseUser in databaseUsers:
dbUser = databaseUser.find('dbUser').text
if mysqlUtilities.mysqlUtilities.createDatabase(dbName, dbUser, "cyberpanel") == 0:
raise BaseException("Failed to create Databases!")
if mysqlUtilities.mysqlUtilities.createDatabase(dbName, dbUser, 'cyberpanel') == 0:
raise BaseException
newDB = Databases(website=website, dbName=dbName, dbUser=dbUser)
newDB.save()
@@ -626,7 +628,7 @@ class backupUtilities:
dbUser = database.find('dbUser').text
if mysqlUtilities.mysqlUtilities.createDatabase(dbName, dbUser, "cyberpanel") == 0:
raise BaseException("Failed to create Databases!")
raise BaseException
newDB = Databases(website=website, dbName=dbName, dbUser=dbUser)
newDB.save()
@@ -803,6 +805,14 @@ class backupUtilities:
if float(version) > 2.0 or float(build) > 0:
if path.find('/home/%s/public_html' % masterDomain) == -1:
#copy_tree('%s/%s-docroot' % (completPath, domain), path)
## First remove if already exists
command = 'rm -rf %s' % (path)
ProcessUtilities.executioner(command)
##
command = 'cp -R %s/%s-docroot %s' % (completPath, domain, path)
ProcessUtilities.executioner(command)
@@ -865,6 +875,9 @@ class backupUtilities:
dbName = database.find('dbName').text
if VERSION == '2.1' and BUILD == '1':
logging.CyberCPLogFileWriter.writeToFile('Backup version 2.1.1 detected..')
first = 1
databaseUsers = database.findall('databaseUsers')
@@ -875,6 +888,12 @@ class backupUtilities:
dbHost = databaseUser.find('dbHost').text
password = databaseUser.find('password').text
if os.path.exists(ProcessUtilities.debugPath):
logging.CyberCPLogFileWriter.writeToFile('Database user: %s' % (dbUser))
logging.CyberCPLogFileWriter.writeToFile('Database host: %s' % (dbHost))
logging.CyberCPLogFileWriter.writeToFile('Database password: %s' % (password))
if first:
first = 0
if mysqlUtilities.mysqlUtilities.restoreDatabaseBackup(dbName, completPath, password, 1) == 0:
@@ -882,6 +901,12 @@ class backupUtilities:
mysqlUtilities.mysqlUtilities.createDatabase(dbName, dbUser, password, 0, dbHost)
mysqlUtilities.mysqlUtilities.changePassword(dbUser, password, 1, dbHost)
# UserInMySQLTable = DBUsers.objects.get(user=dbUser, host=dbHost)
# UserInMySQLTable.password = password
# UserInMySQLTable.save()
else:
password = database.find('password').text
if mysqlUtilities.mysqlUtilities.restoreDatabaseBackup(dbName, completPath, password) == 0:
@@ -901,6 +926,14 @@ class backupUtilities:
else:
if float(version) > 2.0 or float(build) > 0:
#copy_tree('%s/public_html' % (completPath), websiteHome)
## First remove if already exists
command = 'rm -rf %s' % (websiteHome)
ProcessUtilities.executioner(command)
##
command = 'cp -R %s/public_html %s' % (completPath, websiteHome)
ProcessUtilities.executioner(command)
@@ -931,6 +964,14 @@ class backupUtilities:
if os.path.exists(emailsPath):
#copy_tree(emailsPath, '/home/vmail/%s' % (masterDomain))
## First remove if already exists
command = 'rm -rf /home/vmail/%s' % (masterDomain)
ProcessUtilities.executioner(command)
##
command = 'cp -R %s /home/vmail/%s' % (emailsPath, masterDomain)
ProcessUtilities.executioner(command)

View File

@@ -124,7 +124,13 @@ class mysqlUtilities:
## Create db
if dbcreate:
cursor.execute("CREATE DATABASE " + dbname)
query = "CREATE DATABASE %s" % (dbname)
if os.path.exists(ProcessUtilities.debugPath):
logging.CyberCPLogFileWriter.writeToFile(query)
cursor.execute(query)
## create user
@@ -155,6 +161,9 @@ class mysqlUtilities:
return 1
except BaseException as msg:
if dbcreate:
if os.path.exists(ProcessUtilities.debugPath):
logging.CyberCPLogFileWriter.writeToFile('Deleting database because failed to create %s' % (dbname))
mysqlUtilities.deleteDatabase(dbname, dbuser)
logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[createDatabase]")
return 0
@@ -831,18 +840,27 @@ password=%s
return 0
cursor.execute("use mysql")
if host != None:
mysqlUtilities.LOCALHOST = host
LOCALHOST = host
else:
LOCALHOST = mysqlUtilities.LOCALHOST
if encrypt == None:
try:
dbuser = DBUsers.objects.get(user=userName)
cursor.execute("SET PASSWORD FOR '" + userName + "'@'%s' = PASSWORD('" % (mysqlUtilities.LOCALHOST) + dbPassword + "')")
query = "SET PASSWORD FOR '" + userName + "'@'%s' = PASSWORD('" % (LOCALHOST) + dbPassword + "')"
except:
userName = mysqlUtilities.fetchuser(userName)
cursor.execute("SET PASSWORD FOR '" + userName + "'@'%s' = PASSWORD('" % (mysqlUtilities.LOCALHOST) + dbPassword + "')")
query = "SET PASSWORD FOR '" + userName + "'@'%s' = PASSWORD('" % (LOCALHOST) + dbPassword + "')"
else:
cursor.execute("SET PASSWORD FOR '" + userName + "'@'%s' = '" % (mysqlUtilities.LOCALHOST) + dbPassword + "'")
query = "SET PASSWORD FOR '" + userName + "'@'%s' = '" % (LOCALHOST) + dbPassword + "'"
cursor.execute(query)
if os.path.exists(ProcessUtilities.debugPath):
logging.CyberCPLogFileWriter.writeToFile(query)
connection.close()