Skip to content

Commit

Permalink
prevent local backup from running multiple processes
Browse files Browse the repository at this point in the history
  • Loading branch information
usmannasir committed May 22, 2020
1 parent 5d2255e commit df4cea0
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
7 changes: 7 additions & 0 deletions plogical/backupSchedule.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,13 @@ def prepare():

backupLogPath = "/usr/local/lscp/logs/backup_log."+time.strftime("%m.%d.%Y_%H-%M-%S")

jobSuccessSites = 0
jobFailedSites = 0

backupSchedule.backupLog = BackupJob(logFile=backupLogPath, location=backupSchedule.REMOTE,
jobSuccessSites=jobSuccessSites, jobFailedSites=jobFailedSites)
backupSchedule.backupLog.save()

backupSchedule.remoteBackupLogging(backupLogPath,"#################################################")
backupSchedule.remoteBackupLogging(backupLogPath," Backup log for: " +time.strftime("%m.%d.%Y_%H-%M-%S"))
backupSchedule.remoteBackupLogging(backupLogPath,"#################################################\n")
Expand Down
16 changes: 14 additions & 2 deletions plogical/backupScheduleLocal.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,22 @@

class backupScheduleLocal:
localBackupPath = '/home/cyberpanel/localBackupPath'
runningPath = '/home/cyberpanel/localBackupPID'
now = datetime.now()

@staticmethod
def prepare():
try:

if os.path.exists(backupScheduleLocal.runningPath):
pid = open(backupScheduleLocal.runningPath, 'r').read()
print('Local backup is already running with PID: %s. If you want to run againly kindly kill the backup process: \n\n kill -9 %s.\n\n' % (pid, pid))
return 0

writeToFile = open(backupScheduleLocal.runningPath, 'w')
writeToFile.write(str(os.getpid()))
writeToFile.close()

backupRunTime = time.strftime("%m.%d.%Y_%H-%M-%S")
backupLogPath = "/usr/local/lscp/logs/local_backup_log." + backupRunTime

Expand Down Expand Up @@ -70,8 +81,6 @@ def prepare():
backupSchedule.remoteBackupLogging(backupLogPath,
'[ERROR] Backup failed for %s, error: %s moving on..' % (virtualHost, str(msg)), backupSchedule.ERROR)



backupSchedule.remoteBackupLogging(backupLogPath, "")
backupSchedule.remoteBackupLogging(backupLogPath, "")

Expand All @@ -89,6 +98,9 @@ def prepare():
job.jobSuccessSites = jobSuccessSites
job.save()

if os.path.exists(backupScheduleLocal.runningPath):
os.remove(backupScheduleLocal.runningPath)

except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [214:startBackup]")

Expand Down

0 comments on commit df4cea0

Please sign in to comment.