lint check service
This commit is contained in:
parent
52c2852aa9
commit
6db4a527e6
@ -2,58 +2,61 @@ import subprocess
|
|||||||
import time
|
import time
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
services=("syncthing@vincent",
|
services = ("syncthing@vincent",
|
||||||
"postgresql",
|
"postgresql",
|
||||||
"nginx",
|
"nginx",
|
||||||
"php-fpm",
|
"php-fpm",
|
||||||
"gitea",
|
"gitea",
|
||||||
"tt-rss",
|
"tt-rss",
|
||||||
"gunicorn-chainetv.socket",
|
"gunicorn-chainetv.socket",
|
||||||
"supysonic-server",
|
"supysonic-server",
|
||||||
"rsyncd.service",
|
"rsyncd.service",
|
||||||
"fail2ban",
|
"fail2ban",
|
||||||
"supysonic-daemon",
|
"supysonic-daemon",
|
||||||
"home-assistant",
|
"home-assistant",
|
||||||
"radicale",
|
"radicale",
|
||||||
"chisel-server",
|
"chisel-server",
|
||||||
"JDownloader",
|
"JDownloader",
|
||||||
"vaultwarden")
|
"vaultwarden")
|
||||||
|
|
||||||
containers=("pihole",)
|
|
||||||
|
|
||||||
|
containers = ("pihole",)
|
||||||
|
|
||||||
|
|
||||||
class Service(object):
|
class Service(object):
|
||||||
def __init__(self, serviceName):
|
def __init__(self, serviceName):
|
||||||
self.name=serviceName
|
self.name = serviceName
|
||||||
|
|
||||||
def is_active(self):
|
def is_active(self):
|
||||||
cmd="/usr/bin/systemctl"
|
cmd = "/usr/bin/systemctl"
|
||||||
proc=subprocess.Popen([cmd,'is-active',self.name],stdout=subprocess.PIPE)
|
proc = subprocess.Popen(
|
||||||
|
[cmd, 'is-active', self.name], stdout=subprocess.PIPE)
|
||||||
proc.communicate()
|
proc.communicate()
|
||||||
rc=proc.returncode
|
rc = proc.returncode
|
||||||
if rc == 0:
|
if rc == 0:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_last_log(self):
|
def get_last_log(self):
|
||||||
cmd="/usr/bin/journalctl"
|
cmd = "/usr/bin/journalctl"
|
||||||
proc=subprocess.check_output([cmd,'--lines=10','-q','-u',self.name])
|
proc = subprocess.check_output(
|
||||||
|
[cmd, '--lines=10', '-q', '-u', self.name])
|
||||||
return proc.decode('UTF-8').split('\n')
|
return proc.decode('UTF-8').split('\n')
|
||||||
|
|
||||||
|
|
||||||
class Container(object):
|
class Container(object):
|
||||||
def __init__(self, containerName):
|
def __init__(self, containerName):
|
||||||
self.name=containerName
|
self.name = containerName
|
||||||
|
|
||||||
def is_active (self):
|
def is_active(self):
|
||||||
cmd="/usr/bin/docker"
|
cmd = "/usr/bin/docker"
|
||||||
try:
|
try:
|
||||||
proc=subprocess.check_output([cmd,'ps'],stderr=subprocess.STDOUT)
|
proc = subprocess.check_output(
|
||||||
|
[cmd, 'ps'], stderr=subprocess.STDOUT)
|
||||||
except:
|
except:
|
||||||
proc=b''
|
proc = b''
|
||||||
pass
|
pass
|
||||||
proc=proc.decode('UTF-8')
|
proc = proc.decode('UTF-8')
|
||||||
if (proc.find(self.name) != -1):
|
if (proc.find(self.name) != -1):
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
@ -61,26 +64,25 @@ class Container(object):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
wait=True
|
wait = True
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
if sys.argv[1] == "nowait":
|
if sys.argv[1] == "nowait":
|
||||||
wait=False
|
wait = False
|
||||||
|
|
||||||
if (wait):
|
if (wait):
|
||||||
time.sleep(15)
|
time.sleep(15)
|
||||||
|
|
||||||
|
|
||||||
for serviceName in services:
|
for serviceName in services:
|
||||||
serviceObj=Service(serviceName)
|
serviceObj = Service(serviceName)
|
||||||
if (serviceObj.is_active()):
|
if (serviceObj.is_active()):
|
||||||
print (f"{serviceObj.name} is active")
|
print(f"{serviceObj.name} is active")
|
||||||
else:
|
else:
|
||||||
print (f"{serviceObj.name} is inactive")
|
print(f"{serviceObj.name} is inactive")
|
||||||
for line in serviceObj.get_last_log():
|
for line in serviceObj.get_last_log():
|
||||||
print(line)
|
print(line)
|
||||||
for containerName in containers:
|
for containerName in containers:
|
||||||
containerObj=Container(containerName)
|
containerObj = Container(containerName)
|
||||||
if containerObj.is_active():
|
if containerObj.is_active():
|
||||||
print (f"{containerObj.name} is active")
|
print(f"{containerObj.name} is active")
|
||||||
else:
|
else:
|
||||||
print (f"{containerObj.name} is inactive")
|
print(f"{containerObj.name} is inactive")
|
||||||
|
Loading…
Reference in New Issue
Block a user