Bonjour tout le monde,

J'ai un petit souci sur un script bash que je n'arrive pas à fonctionner, j'aimerai faire un script qui me permet de lancer un ping, ou bien s'il existe déjà de le killer et transfert le log sur un serveur ftp.

Je débuttes en shell (depuis hier matin) Voici mes 2 scripts qui fonctionnent séparément mais je n'arrive pas à les intégrer dans le même :

Vérification si le ping à déjà été lancé et sauvegarde du log
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
#!/bin/bash
ProcName=`ps -ax | grep -m 1 "ping xx.xx.xx.xx" | awk '{ print $5 }'` # Vérification de l'existence du Proc ping (me renvoie grep s'il n'existe pas)
if [ "$ProcName" = "ping" ]; then
	ProcNum=`ps -ax | grep -m 1 "ping xx.xx.xx.xx" | awk '{ print $1 }'` # Récupération du PID
	NomFile="toto.log"
	kill $ProcNum; mv ./pingtest.log $NomFile
fi
ping xx.xx.xx.xx > pingtest.log &
Transfert FTP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
]#!/bin/bash
ftp -vni x.x.x.x <<FINFTP
user loginuser passworduser
put "toto.log"
bye
FINFTP
Et voici ce que j'essaie de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
ProcName=`ps -ax | grep -m 1 "ping xx.xx.xx.xx" | awk '{ print $5 }'`
if [ "$ProcName" = "ping" ]; then
	ProcNum=`ps -ax | grep -m 1 "ping xx.xx.xx.xx" | awk '{ print $1 }'`
	NomFile="toto.log"
	kill $ProcNum; mv ./pingtest.log $NomFile
	ftp -vni x.x.x.x <<FINFTP
	user loginuser passworduser
	put $NomFile
	bye
	FINFTP
fi
ping xx.xx.xx.xx > pingtest.log &
Il me met l'erreur suivante quand je le lance :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
# bash --verbose pingtest.sh
#!/bin/bash -x
ProcName=`ps -ax | grep -m 1 "ping xx.xx.xx.xx" | awk '{ print $5 }'`
ps -ax | grep -m 1 "ping xx.xx.xx.xx" | awk '{ print $5 }'
if [ "$ProcName" = "ping" ]; then
        ProcNum=`ps -ax | grep -m 1 "ping xx.xx.xx.xx" | awk '{ print $1 }'`
        NomFile="toto.log"
        kill $ProcNum; mv ./pingtest.log $NomFile
        ftp -vni x.x.x.x <<FINFTP
pingtest.sh: line 15: syntax error: unexpected end of file
Merci à celui ou celle qui pourra m'aider