[Conky] Vsftpd ... (Résolu)
[Conky] Vsftpd ... (Résolu)
Bonjour,
voilà j'ai créé un serveur ftp sur mon pc à l'aide de vsftpd, et je voulais savoir si je pouvais afficher les utilisateurs connectés à mon ftp sur conky ??
En temps réel serait le top, sinon avec une mise à jour toutes les x min/sec, si c'est possible of course ...
J'ai fait des recherches mais sans succés ....
Merci d'avance, bien cordialement.
voilà j'ai créé un serveur ftp sur mon pc à l'aide de vsftpd, et je voulais savoir si je pouvais afficher les utilisateurs connectés à mon ftp sur conky ??
En temps réel serait le top, sinon avec une mise à jour toutes les x min/sec, si c'est possible of course ...
J'ai fait des recherches mais sans succés ....
Merci d'avance, bien cordialement.
Dernière modification par Coyote le mar. 16 août 2011, 12:27, modifié 1 fois.
In Tartiflette we trust !
Re: [Conky] Vsftpd ...
Salut, si tu rajoutes:
à /etc/vsftpd.conf , tu auras les clients connectés et ce qu'ils font dans la liste des processus.
Par exemple:
Te donnera la liste des process vsftpd, tu peux utiliser awk ou autre pour traiter l'information par la suite.
Code : Tout sélectionner
setproctitle_enable=yes
Par exemple:
Code : Tout sélectionner
pgrep vsftpd | xargs -r ps h -o cmd -p
Re: [Conky] Vsftpd ...
Merci pour le coup c'est vraiment efficace ... je ne connaissais pas awk
et du coup je me bats un peu avec .... Je lance :
me retourne quasi ce que je veux, sauf qu'il y a une ligne vide (en 1) et une ligne connected en 2 !
Est-ce que je peux facilement les faire disparaître ?
J'ai l'impression que oui avec une condition, mais cela me semble mystérieux ....
et du coup je me bats un peu avec .... Je lance :
Code : Tout sélectionner
pgrep vsftpd | xargs -r ps h -o cmd -p | awk -F[/:] '{print $3}'
Est-ce que je peux facilement les faire disparaître ?
J'ai l'impression que oui avec une condition, mais cela me semble mystérieux ....
In Tartiflette we trust !
Re: [Conky] Vsftpd ...
Donne ce que te sort le "ps" et ce que tu voudrais avoir. (je n'ai pas de vsftpd en fonction, et donc pas de sortie)
Re: [Conky] Vsftpd ...
Il me donne ceci si j'ai un utilisateur connecté :
Je voudrai seulement qu'il m'affiche le nom de l'utilisateur : Seb
Et si personne n'est connecté :
Voilà ... merci pour les réponses en tout cas
Code : Tout sélectionner
vsftpd: LISTENER
vsftpd: 192.168.0.254: connected
vsftpd: 192.168.0.254/Seb: IDLE
Et si personne n'est connecté :
Code : Tout sélectionner
vsftpd: LISTENER
In Tartiflette we trust !
Re: [Conky] Vsftpd ...
Code : Tout sélectionner
awk -F[/:] '/\// {print $3}'
Re: [Conky] Vsftpd ...
Fabuleux, c'est exactement ça
Un grand merci pour ton aide.
Un grand merci pour ton aide.
In Tartiflette we trust !
Re: [Conky] Vsftpd ...
Bon ben voilà, du coup j'ai fait un petit script à executer dans conky, et ça a l'air de marcher tout bien ... juste que je ne l'ai pas tester dans le cas où il y a deux utilisateurs (ou plus) connectés en même temps ...
Le temps me dira si je dois modifier le script !
En attendant le voici pour ceux qui voudraient jouer au big brother sur leur ftp
Ne pas oublier de le rendre executable ... puis dans conky :
Merci à tuxce pour l'aide
Le temps me dira si je dois modifier le script !
En attendant le voici pour ceux qui voudraient jouer au big brother sur leur ftp
Code : Tout sélectionner
#!/bin/bash
# Pour les utilsateurs, heure et minute
user=$(pgrep vsftpd | xargs -r ps h -o cmd,stime -p | awk -F[/:] '/\// {print $3}')
hh=$(pgrep vsftpd | xargs -r ps h -o cmd,stime -p | awk -F[/:] '/\// {print $4}')
mm=$(pgrep vsftpd | xargs -r ps h -o cmd,stime -p | awk -F[/:] '/\// {print $5}')
# Condition et affichage pour conky
if [ -z "$user" ]
then
echo "il n'y a pas d'utilisateur connecté ..."
else
echo "$user depuis${hh} h $mm ..."
fi
Code : Tout sélectionner
${execi 60 ~/.conky/scripts/ftp.sh}
In Tartiflette we trust !
Re: [Conky] Vsftpd ...
Effectivement, avec plus d'un utilisateur, ça fonctionnera pas...
Essaie plutôt ça:
Essaie plutôt ça:
Code : Tout sélectionner
pgrep vsftpd | xargs -r ps h -o cmd,stime -p | awk -F[/:] '
BEGIN {users=0;}
/\// {
print $3" depuis "$4"h "$5"m ...";
users++;
}
END { if (!users) print "'"il n'y a pas d'utilisateur ... "'"; }
'
Dernière modification par tuxce le mar. 16 août 2011, 11:51, modifié 2 fois.
Raison : protéger les ' dans le END {}
Raison : protéger les ' dans le END {}
Re: [Conky] Vsftpd ...
Damned .. j'ai testé ton code, mais voici ce que j'obtiens ....
Etant une tanche en programmation, impossible de le débuger tout seul ....
D'autre part, selon la longueur de l'utilisateur, j'ai les : qui disparaissent dans le champs user ce qui me fait planter mon script même avec un utilisateur !
Et du coup le champ 3 devient Celin 15 et non Celine ...
Si tu as une idée, je te serai infiniment reconnaissant ...
Code : Tout sélectionner
awk: ligne de commandes:5: END { if (!users) print "il ny
awk: ligne de commandes:5: ^ chaine non refermée
awk: ligne de commandes:5: END { if (!users) print "il ny
awk: ligne de commandes:5: ^ syntax error
D'autre part, selon la longueur de l'utilisateur, j'ai les : qui disparaissent dans le champs user ce qui me fait planter mon script même avec un utilisateur !
Code : Tout sélectionner
... 0.254/Celin 15:55
Si tu as une idée, je te serai infiniment reconnaissant ...
In Tartiflette we trust !
Re: [Conky] Vsftpd ...
L'erreur vient des apostrophes dans le: "il n'y ..."
Sinon, le champs "cmd" (ou équivalent) doit être placé en dernier, comme ça, "ps" ne le tronquera pas (à part si une largeur est définie ou si la sortie est un terminal)
Le script devient:
Sinon, le champs "cmd" (ou équivalent) doit être placé en dernier, comme ça, "ps" ne le tronquera pas (à part si une largeur est définie ou si la sortie est un terminal)
Le script devient:
Code : Tout sélectionner
pgrep vsftpd | xargs -r ps h -o stime,cmd -p | awk -F'[/: ]' '
BEGIN {users=0;}
/\// {
print $6" depuis "$1"h "$2"m ...";
users++;
}
END { if (!users) print "'"il n'y a pas d'utilisateur ... "'"; }
'
Re: [Conky] Vsftpd ...
C'est exactement ça .. un grand merci .... il faudrait un jour que je m'y plonge serieux dans toutes ces commandes ....
Mais là pas trop le temps
En tout cas ça marche au poil .....
Je passe en mode Résolu !
Merci et bonne continuation !
Mais là pas trop le temps
En tout cas ça marche au poil .....
Je passe en mode Résolu !
Merci et bonne continuation !
In Tartiflette we trust !