X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;ds=sidebyside;f=.bin%2Fgentoo-check-services;h=114ade945805ed5e8457355880766c720b7c304f;hb=35d72f6fe012cc69da03f893d1d0fc8c1778e88d;hp=54790aff83d38e8ac63ab06daaa51fb6f0a5e53b;hpb=e04a292f8a2b8ff3c98d3ea3105617d89edeb0b0;p=home.git diff --git a/.bin/gentoo-check-services b/.bin/gentoo-check-services index 54790af..114ade9 100755 --- a/.bin/gentoo-check-services +++ b/.bin/gentoo-check-services @@ -17,6 +17,10 @@ import time IGNORE_PATHS = set(( '/dev/zero', '/etc/ld.so.cache', + '/usr/share/icons/Adwaita/icon-theme.cache', + '/usr/share/icons/gnome/icon-theme.cache', + '/usr/share/icons/hicolor/icon-theme.cache', + '/usr/share/mime/mime.cache', )) @@ -41,10 +45,12 @@ def find_svcs(): # b71c7000-b7307000 rw-s 00000000 00:04 17024337 /dev/zero (deleted) addr, perm, offset, dev, inode, path = line.split(' ', 5) # Handle paths with spaces. - path = path.rsplit(' ', 2)[0] + path = path.lstrip().rsplit(' ', 2)[0] if (path == '/[aio]' or + path.startswith('/memfd:') or path.startswith('/SYSV') or - path.startswith('/dev/shm/')): + path.startswith('/dev/shm/') or + path.startswith('/tmp/')): continue old_paths.add(path) @@ -73,25 +79,29 @@ SERVICES = { '/usr/sbin/bacula-fd': 'bacula-fd', '/usr/sbin/cron': 'vixie-cron', '/usr/sbin/crond': 'dcron', + '/usr/sbin/ntpd': 'ntpd', '/usr/sbin/snmpd': 'snmpd', '/usr/sbin/sshd': 'sshd', '/usr/sbin/syslog-ng': 'syslog-ng', '/usr/sbin/xinetd': 'xinetd', + '/usr/bin/daisydog': 'daisydog', '/usr/bin/distccd': 'distccd', '/usr/bin/monit': 'monit', + '/usr/bin/rsync': 'rsyncd', + '/usr/sbin/smbd': 'samba', '/usr/bin/stunnel': 'stunnel', '/usr/bin/tor': 'tor', '/usr/bin/transmission-daemon': 'transmission-daemon', '/usr/bin/mediatomb': 'mediatomb', '/lib/systemd/systemd-udevd': 'udev', '/usr/libexec/nrpe': 'nrpe', - '/usr/libexec/postfix/master': 'postfix', + '//usr/libexec/postfix/master': 'postfix', 'denyhosts.py': 'denyhosts', 'dropbear': 'dropbear', 'galileo': 'galileo', 'tlsdated': 'tlsdated', } -def auto_restart(svcs): +def auto_restart(opts, svcs): kill = set() restart = set() for pid, svc in svcs.items(): @@ -114,13 +124,16 @@ def auto_restart(svcs): if kill or restart: for pid in kill: print('killing %s (%s)' % (pid, svcs[pid]['cmdline'][0])) - os.kill(pid, signal.SIGTERM) + if not opts.dryrun: + os.kill(pid, signal.SIGTERM) for init in restart: print('restarting %s' % init) - os.system('/etc/init.d/%s -q restart' % init) + if not opts.dryrun: + os.system('/etc/init.d/%s -q restart' % init) - time.sleep(1) - svcs = find_svcs() + if not opts.dryrun: + time.sleep(1) + svcs = find_svcs() return svcs @@ -143,6 +156,8 @@ def summarize(svcs): def get_parser(): parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('-n', '--dry-run', dest='dryrun', action='store_true', + help='Show what would be restarted (and why)') return parser @@ -151,7 +166,7 @@ def main(argv): opts = parser.parse_args(argv) svcs = find_svcs() - svcs = auto_restart(svcs) + svcs = auto_restart(opts, svcs) summarize(svcs)