diff --git a/update_zones.py b/update_zones.py index 1090fc8..6e2f449 100644 --- a/update_zones.py +++ b/update_zones.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 #################################################################################################################################### -# A CLI Script to update list of domains instead from the UI. Can be useful for people who want to execute updates from a cronjob -# +# A CLI Script to update list of domains instead from the UI. Can be useful for people who want to execute updates from a cronjob +# # Tip: # When running from a cron, use flock (you might need to install it) to be sure only one process is running a time. eg: # */5 * * * * flock -xn "/tmp/pdns-update-zones.lock" python /var/www/html/apps/poweradmin/update_zones.py >/dev/null 2>&1 @@ -10,21 +10,26 @@ ############################################################## ### Imports -from powerdnsadmin.models.domain import Domain -from config import BG_DOMAIN_UPDATES - import sys -import logging as logger +import logging -### Define logging -logging = logger.getLogger(__name__) +from flask import current_app +from powerdnsadmin import create_app +from powerdnsadmin.models.domain import Domain +from powerdnsadmin.models.setting import Setting -### Check if BG_DOMAIN_UPDATES is set to true -if not BG_DOMAIN_UPDATES: - logging.error('Set BG_DOMAIN_UPDATES to True in config.py') - sys.exit(1) +app = create_app() +app.logger.setLevel(logging.INFO) -### Start the update process -logging.info('Update zones from nameserver API') +with app.app_context(): + status = Setting().get('bg_domain_updates') -d = Domain().update() + ### Check if bg_domain_updates is set to true + if not status: + app.logger.error('Please turn on "bg_domain_updates" setting to run this job.') + sys.exit(1) + + ### Start the update process + app.logger.info('Update zones from nameserver API') + + d = Domain().update()