Skip to content

Instantly share code, notes, and snippets.

@thraxil
Created May 9, 2019 13:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thraxil/035b8bb53c6649c1407d6a7e9c0eb2e6 to your computer and use it in GitHub Desktop.
Save thraxil/035b8bb53c6649c1407d6a7e9c0eb2e6 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
import os.path
import os
from datetime import datetime, timedelta
from pathlib import Path
BASE = "/etc/letsencrypt/"
in_use = dict()
live_dir = os.path.join(BASE, "live")
for domain in os.listdir(live_dir):
domain_dir = os.path.join(live_dir, domain)
if not os.path.isdir(domain_dir):
continue
for certlink in os.listdir(domain_dir):
f = os.path.join(domain_dir, certlink)
target = Path(f).resolve()
print("->", target)
in_use[target] = 1
keep = 0
delete = 0
archive_dir = os.path.join(BASE, "archive")
for domain in os.listdir(archive_dir):
domain_dir = os.path.join(archive_dir, domain)
if not os.path.isdir(domain_dir):
continue
for certfile in os.listdir(domain_dir):
f = Path(os.path.join(domain_dir, certfile))
if f in in_use:
print(f, "is in use. don't delete")
keep += 1
else:
print(f, "is safe to delete")
delete += 1
print("keep:", keep)
print("delete:", delete)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment