#!/usr/bin/env python3 import logging import os import sys import time delay = 2 def restart_apache(): os.system("systemctl reload-or-restart apache2") def run_monitor(filename): while True: if os.path.exists(filename): logging.info("restarting apache") restart_apache() time.sleep(delay) os.remove(filename) time.sleep(delay) def main(): logging.basicConfig(level=logging.INFO, format='%(asctime)s: %(message)s') if len(sys.argv) < 2: raise Exception('No monitor filename') monitor_filename = sys.argv[1] monitor_dir = os.path.dirname(monitor_filename) if not os.path.isdir(monitor_dir): raise Exception(f'directory not exist: {monitor_dir}') if not os.access(monitor_dir, os.W_OK): raise Exception(f'directory not writable: {monitor_dir}') run_monitor(monitor_filename) if __name__ == "__main__": main()