2
0
mirror of https://github.com/frappe/bench.git synced 2024-09-29 07:19:05 +00:00

Merge branch 'develop' into bench-cli-fix

This commit is contained in:
gavin 2020-09-24 13:00:28 +05:30 committed by GitHub
commit e345d18c7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 12 deletions

View File

@ -27,7 +27,7 @@ def cli():
command = " ".join(sys.argv)
change_working_directory()
logger = setup_logging() or logging.getLogger(bench.PROJECT_NAME)
logger = setup_logging()
logger.info(command)
if len(sys.argv) > 1 and sys.argv[1] not in ("src", ):

View File

@ -111,7 +111,7 @@ def download_translations():
download_translations_p()
@click.command('renew-lets-encrypt', help="Renew Let's Encrypt certificate")
@click.command('renew-lets-encrypt', help="Sets Up latest cron and Renew Let's Encrypt certificate")
def renew_lets_encrypt():
from bench.config.lets_encrypt import renew_certs
renew_certs()

View File

@ -87,11 +87,17 @@ def run_certbot_and_setup_ssl(site, custom_domain, bench_path, interactive=True)
def setup_crontab():
job_command = '/opt/certbot-auto renew -a nginx --post-hook "systemctl reload nginx"'
job_comment = 'Renew lets-encrypt every month'
print("Setting Up cron job to {0}".format(job_comment))
system_crontab = CronTab(user='root')
if job_command not in str(system_crontab):
job = system_crontab.new(command=job_command, comment="Renew lets-encrypt every month")
job.day.on(1)
system_crontab.write()
for job in system_crontab.find_comment(comment=job_comment): # Removes older entries
system_crontab.remove(job)
job = system_crontab.new(command=job_command, comment=job_comment)
job.setall('0 0 */1 * *') # Run at 00:00 every day-of-month
system_crontab.write()
def create_dir_if_missing(path):
@ -113,10 +119,13 @@ def get_certbot_path():
def renew_certs():
# Needs to be run with sudo
click.confirm('Running this will stop the nginx service temporarily causing your sites to go offline\n'
'Do you want to continue?',
abort=True)
setup_crontab()
service('nginx', 'stop')
exec_cmd("{path} renew".format(path=get_certbot_path()))
service('nginx', 'start')

View File

@ -443,15 +443,18 @@ def setup_logging(bench_path='.'):
logging.Logger.log = logv
if os.path.exists(os.path.join(bench_path, 'logs')):
logger = logging.getLogger(bench.PROJECT_NAME)
log_file = os.path.join(bench_path, 'logs', 'bench.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr = logging.FileHandler(log_file)
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.DEBUG)
else:
hdlr = logging.NullHandler()
return logger
logger = logging.getLogger(bench.PROJECT_NAME)
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.DEBUG)
return logger
def get_process_manager():