/usr/share/cagefs-skeleton/opt/imunify360/venv/share/imunify360/scripts
#!/opt/imunify360/venv/bin/python import socket import json import time from pathlib import Path from logging import getLogger from defence360agent.internals import logger as lg from defence360agent.contracts.config import SimpleRpc from defence360agent.subsys.persistent_state import PERSISTENT_STATE_DIR logger = getLogger("check_recurrent") def is_need_to_run(lock_file: Path): try: content = lock_file.read_text() next_run = float(content) if content else 0 current_time = time.time() if current_time >= next_run: logger.info( "Need to wakeup agent to process scheduled task %s " "(scheduled time: %d, current time: %d, next run in: %d)", lock_file.name, current_time, next_run, next_run - current_time, ) return True return False except (FileNotFoundError, ValueError) as e: logger.error( "Error while reading scheduled-lock file %s %s", lock_file, e ) return False def main(): for lock_file in PERSISTENT_STATE_DIR.glob("*.lock"): if is_need_to_run(lock_file): try: with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock: sock.settimeout(30) sock.connect(SimpleRpc.SOCKET_PATH) # it's doesn't matter what we send, we just need to wake up the server msg = ( json.dumps({"command": ["wakeup"], "params": {}}) + "\n" ) sock.sendall(msg.encode()) except Exception as e: logger.error("Failed to connect to rpc socket %s", e) else: return if __name__ == "__main__": lg.reconfigure() main()
.
Edit
..
Edit
check-detached.py
Edit
check_recurrent.py
Edit
create_default_config
Edit
csf_tool
Edit
delay_on_cron_call.py
Edit
disable_3rd_party_ids
Edit
imunify-check-pkg-integrity
Edit
imunify-disable-cpu-accounting.sh
Edit
imunify-doctor.sh
Edit
imunify-force-update.sh
Edit
ipset_sync.py
Edit
lfd_block.py
Edit
migrate_csf
Edit
mk_apache_conf_digest.pl
Edit
purge-clamav
Edit
remove_hardened_php.py
Edit
rules_checker.py
Edit
send-notifications
Edit
setup_cagefs.py
Edit
track-fpfn-submissions.sh
Edit
update_components_versions.py
Edit
whitelist_cache.py
Edit