mirror of
https://github.com/frappe/bench.git
synced 2025-01-09 00:21:23 +00:00
Merge branch 'develop' into bench-cli-fix
This commit is contained in:
commit
e345d18c7d
@ -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", ):
|
||||
|
@ -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()
|
||||
|
@ -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')
|
||||
|
@ -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():
|
||||
|
Loading…
Reference in New Issue
Block a user