You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

34 lines
1.4 KiB

from crontab import *
from ee.core.shellexec import EEShellExec
from ee.core.logging import Log
"""
Set CRON on LINUX system.
https://pypi.python.org/pypi/python-crontab
"""
class EECron():
def setcron_daily(self,cmd,comment='Cron set by EasyEngine',user='root',min=0,hour=12):
if not EEShellExec.cmd_exec(self, "crontab -l | grep -q \'{0}\'".format(cmd)):
tab = CronTab(user=user)
cron_job = tab.new(cmd, comment=comment)
cron_job.minute.on(min)
cron_job.hour.on(hour)
#writes to crontab
tab.write()
Log.debug(self, "Cron is set:\n" + tab.render())
else:
Log.debug(self, "Cron already exist")
def remove_cron(self,cmd):
if EEShellExec.cmd_exec(self, "crontab -l | grep -q \'{0}\'".format(cmd)):
#root@e:~# crontab -l | sed '/ee site update example.com --le/d' | crontab -
if not EEShellExec.cmd_exec(self, "/bin/bash -c "
"\"crontab "
"-l | sed '/{0}/d'"
"| crontab -\""
.format(cmd)):
Log.error(self, "Failed to remove crontab entry",False)
else:
Log.debug(self, "Cron not found")