Bonjour à tous, je travail sur une petite app me permettant d'administrer via ssh une ferme de serveur sous ubuntu,
Je souhaite pouvoir automatiser mes commandes sur tout mes serveurs et pour que cela soit plus "facile" à traiter, je voudrai faire passer la sortie des commandes dans un format plus facilement manipulable (json ou xml)

Pour illustrer cela j'utilise très régulièrement la commande "lsof -i -N -P" qui me retourne toutes les connections actives :

Auriez-vous une idée de comment passer d'un "output" classique bash vers un format un peut plus manipulable ? (json, xml ou autres....)

Une autre solution serai de rendre accessible toutes ces informations via une api dédié afin d'éviter tout la surcouche de commande via ssh puis de le traiter manuellement avec des script, si vous avez quelques idées la dessus ...

merci

Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
COMMAND   PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     1306      root    3u  IPv4  54161      0t0  TCP *:22 (LISTEN)
sshd     1306      root    4u  IPv6  54163      0t0  TCP *:22 (LISTEN)
apache2  1431      root    4u  IPv6  18365      0t0  TCP *:80 (LISTEN)
apache2  1435  www-data    4u  IPv6  18365      0t0  TCP *:80 (LISTEN)
apache2  1436  www-data    4u  IPv6  18365      0t0  TCP *:80 (LISTEN)
apache2  1437  www-data    4u  IPv6  18365      0t0  TCP *:80 (LISTEN)
apache2  1438  www-data    4u  IPv6  18365      0t0  TCP *:80 (LISTEN)
apache2  1439  www-data    4u  IPv6  18365      0t0  TCP *:80 (LISTEN)
dhclient 5994      root    6u  IPv4  59801      0t0  UDP *:68
sshd     6681      root    3u  IPv4  65725      0t0  TCP LABOVM.mtromain.local:22->10.0.0.99:38223 (ESTABLISHED)
sshd     6683      root    3u  IPv4  65732      0t0  TCP LABOVM.mtromain.local:22->10.0.0.99:38224 (ESTABLISHED)
sshd     6742  userlabo    3u  IPv4  65725      0t0  TCP LABOVM.mtromain.local:22->10.0.0.99:38223 (ESTABLISHED)
sshd     6742  userlabo    9u  IPv6  65818      0t0  TCP localhost:6010 (LISTEN)
sshd     6742  userlabo   10u  IPv4  65819      0t0  TCP localhost:6010 (LISTEN)
sshd     6750  userlabo    3u  IPv4  65732      0t0  TCP LABOVM.mtromain.local:22->10.0.0.99:38224 (ESTABLISHED)
sshd     6993   root       3u  IPv4  66306      0t0  TCP LABOVM.mtromain.local:22->10.0.0.99:38319 (ESTABLISHED)
sshd     7024  userlabo    3u  IPv4  66306      0t0  TCP LABOVM.mtromain.local:22->10.0.0.99:38319 (ESTABLISHED)