Bonsoir à tous,
je viens vers vous car je débute en script bash et j'ai un problème
voici le script en question
expliction: ajax.php me calcule la bande passante de mes interfaces reseaux
Code : 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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 data=$(mysql -u $DB_USER -p$DB_PWD -s -N << EOF use $DB_NAME SELECT name, ip_addr, community, options, network FROM devices WHERE network <> ''; quit EOF ) sql='' stamp=$(date +%s) PIFS=IFS; IFS=$'\n'; for line in $data; do OIFS="$IFS" IFS=' ' read -a var <<< "${line}" IFS="$OIFS" #echo ${var[0]} if [ -n "${var[3]} | grep bandwidth" ] then OIFS="$IFS" IFS='|' read -a net <<< "${var[4]}" IFS="$OIFS" tx=$(/bin/php /path/to/scripts/ajax.php listen=bandwidth way=OUT ip=${var[1]} com=${var[2]} device_id=${net[1]}) rx=$(/bin/php /path/to/scripts/ajax.php listen=bandwidth way=IN ip=${var[1]} com=${var[2]} device_id=${net[1]}) sql="INSERT INTO logs_test (device, name, up, down, time) VALUES ('${var[0]}', '${net[0]}', '$tx', '$rx', $stamp)" fi done IFS=PIFS; mysql -u $DB_USER -p$DB_PWD << EOF use $DB_NAME $sql quit EOF
ce script a pour but d'aller chercher dans une table device les infos des appareils avec lesquel je peux faire un graph de la bande passante
des qu'il les a il passe un coup d'ajax.php pour avoir les variable rx et tx
apres j'enregistre dans la base de donnée
c'est là ou j'ai un problème
voilà ce que ça me met
les I et S ont tous disparuERROR 1064 (42000) at line 2: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'quit' at line 2
N ERT NTO logs_test (device, name, up, down, time) VALUE ('N 2', 'eth0', '0.06', '0.19', 1528232650)
quelqu'un peut-il m'aider?
Merci d'avance à vous
Emmanuel
Partager