hi, je suis en train de me casser les dents là dessus depuis plusieurs jours.
Ca commence à devenir agacant… lol
J’essaie de contruire un script, via vim, qui permettrait à ma machine d’aller checker des informations sur une autre machine, distante sans avoir à s’y loguer, l’idée étant à terme de gagner du temps (pour l’instant c’est loupé muarf).
Typiquement, j’essaie ici de lister le contenu du fichier ntp (à terme, l’idée à terme, c’est d’isoler les lignes ayant pour mention “Server”, et de checker d’une traite la résolution des nom de domaine de ces machines. Pour ça, la commande devra donc “isoler” les adresses de machines ntp et faire un dig machine +short dessus) :
#!/bin/bash
line=#-----------------------------------------#;
while :
do
read -p "-> Choisissez l’IP de la machine : " IP
read -p "-> Choisissez le login : " LOG
echo ""
echo $line
echo “”
ssh -l $LOG $IP "hostname |xargs -l echo "-"
date |xargs -l echo “-” ; echo -Test ntpstat:
ntpstat
echo -Test ntpdate
ntpdate -q ntp0.eu.XXXX.net
echo - Check contenu du file /etc/ntp/ntpservers : ; cat /etc/ntp/ntpservers
echo ""
echo - Check contenu du fichier /etc/ntp.conf : ; cat /etc/ntp.conf | grep ^server
echo ""
echo - Check resolution Domain Name du serveur indiqué dans le ntp.conf
#for i in $PWD ; do ls “$i” ; done" => ça, ça marche.
#Note en exemple : ssh root@192.168.203.33 ‘bash -c “for name in /home/*; do ls “$name”; done;”’ => Ca, c’est censé marcher.
Note :
$ => Désigne le prompt de la machine distante.
“$@” is equivalent to “$1” “$2”
sudo for i in $(/etc/ntp.conf) ; do ls “$i” ; done"
done | tee -a Time_Machine
Au finale, tel quel j’obtiens ça :
- Check resolution Domain Name du serveur indiqué dans le ntp.conf
bash: -c: line 10: syntax error near unexpected tokendo' bash: -c: line 10:
sudo for i in $(/etc/ntp.conf) ; do ; done’
Note : si je ne mets pas de Sudo, le retour de la commande m’indique que je n’ai pas les droits pour l’exécuter. comme suit :
bash: line 10: /etc/ntp.conf: Permission denied
Si je mets un sudo devant ls, je n’ai simplement rien.
Y aurait pas un codeur dans le coin, par hasard ? (mais alors vraiment par hasard, hein… :p). Car tout fonctionne dans le script, sauf dès que j’aborde des cmd un peu pls complexes.
Rgs,
Christian