feat: add runtime diagnostics and path management
This commit is contained in:
@@ -1,19 +1,21 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Rotate external gate log using the user's logrotate config/state."""
|
||||
import shutil
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
BASE_DIR = Path.home() / ".coinhunter"
|
||||
STATE_DIR = BASE_DIR / "state"
|
||||
LOGROTATE_STATUS = STATE_DIR / "logrotate_external_gate.status"
|
||||
LOGROTATE_CONF = BASE_DIR / "logrotate_external_gate.conf"
|
||||
LOGS_DIR = BASE_DIR / "logs"
|
||||
from .runtime import ensure_runtime_dirs, get_runtime_paths
|
||||
|
||||
PATHS = get_runtime_paths()
|
||||
STATE_DIR = PATHS.state_dir
|
||||
LOGROTATE_STATUS = PATHS.logrotate_status
|
||||
LOGROTATE_CONF = PATHS.logrotate_config
|
||||
LOGS_DIR = PATHS.logs_dir
|
||||
|
||||
|
||||
def main():
|
||||
STATE_DIR.mkdir(parents=True, exist_ok=True)
|
||||
LOGS_DIR.mkdir(parents=True, exist_ok=True)
|
||||
cmd = ["/usr/sbin/logrotate", "-s", str(LOGROTATE_STATUS), str(LOGROTATE_CONF)]
|
||||
ensure_runtime_dirs(PATHS)
|
||||
logrotate_bin = shutil.which("logrotate") or "/usr/sbin/logrotate"
|
||||
cmd = [logrotate_bin, "-s", str(LOGROTATE_STATUS), str(LOGROTATE_CONF)]
|
||||
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||
if result.stdout.strip():
|
||||
print(result.stdout.strip())
|
||||
|
||||
Reference in New Issue
Block a user