Bonjour,
Sur une ligne adsl, j'ai un serveur de connecté avec une IP dynamique; j'ai un petit script qui m'infome par mail lors d'un changement d'IP.
Dans ce script, j'ai d'abord une requete java qui récupère l'adresse IP en cours et la met dans un fichier ftemp :
Puis le script proprement dit qui compare l'adresse de ftemp avec la dernière adresse valide contenue dans le fichier ipaddress :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Requete.java { .... FileWriter resultFile = new FileWriter("/home/toto/test/ftemp"); .... }
Ce script est lancé périodiquement par crontab :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 scriptip #!/bin/bash java getip.Requete cat ftemp >> ipaddress tr -d '\n' < ipaddress > ftemp IFS=\: read ip1 ip2 < ftemp echo $ip1 echo $ip2 if [ $ip1 != $ip2 ]; then echo $ip2 | mutt -s "Local IP" xxxxxx@free.fr; fi ...
Le problème est qu'en procédant de cette façon, je me retrouve avec les fichiers ftemp et ipaddress dans le directory /home/toto alors que je m'attends à les avoir dans /home/toto/test. Si je lance le script manuellement en étant dans /home/toto/test les fichiers sont au bon endroit. : comment procéder pour avoir les fichiers au bon endroit lors d'un lancement par crontab?
Code : Sélectionner tout - Visualiser dans une fenêtre à part */30 * * * * /home/toto/test/scriptip
Partager