From eb41898ad7ef547b3ecf1c8208a282a0785ff054 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Mon, 30 Aug 2021 14:39:45 +0500 Subject: [PATCH] bug fix: cron jobs --- plogical/cronUtil.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/plogical/cronUtil.py b/plogical/cronUtil.py index 25f49e12c..d9910bba4 100755 --- a/plogical/cronUtil.py +++ b/plogical/cronUtil.py @@ -1,4 +1,7 @@ +import os import sys +import time + sys.path.append('/usr/local/CyberCP') import argparse from plogical.processUtilities import ProcessUtilities @@ -81,13 +84,33 @@ class CronUtil: @staticmethod def addNewCron(externalApp, finalCron): try: + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: cronPath = "/var/spool/cron/" + externalApp else: cronPath = "/var/spool/cron/crontabs/" + externalApp - with open(cronPath, "a") as file: - file.write(finalCron + "\n") + from random import randint, seed + try: + seed(time.perf_counter()) + except: + pass + + TempFile = '/tmp/' + str(randint(1000, 9999)) + + if os.path.exists(cronPath): + FullCrons = open(cronPath, 'r').read() + finalCron = '%s%s\n' % (FullCrons, finalCron) + with open(TempFile, "w") as file: + file.write(finalCron) + else: + with open(TempFile, "w") as file: + file.write(finalCron + '\n') + + command = 'cp %s %s' % (TempFile, cronPath) + ProcessUtilities.executioner(command) + + os.read(TempFile) print("1,None") except BaseException as msg: