awk kan vanuit crontab mysql niet aanroepen?

Pagina: 1
Acties:

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Ik heb het volgende awk scriptje, het moet aangeroepen worden met op devolgende manier
iptables -vnxL | getTraffic.awk

Het script ziet er als volgt uit
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/awk -f

BEGIN {
        chain="";
        date=systime();
        command="";
        bytes=0;
        pkts=0;
}

/^Chain(.*)/ {
        chain = $2;
}

/^ +([0-9]+)(.*)$/ {
        pkts=$1;
        bytes=$2;
}

END {
        command="mysql -uuser -ppassword -Dtraffic -e\"INSERT INTO metingen VALUES ('"chain"', "date", "bytes", "pkts")\"";

        system(command);
}


Als ik het script vanaf de commandline aanroep werkt het perfect. De traffic wordt uitgelezen en aan de database toegevoegd. In de crontab -e van root heb ik hetvolgende staat:
*/5 * * * * /root/traffic/trafficcount.sh
trafficcount.sh is een simpel shellscriptje wat het awk script aanroept met iptables en vervolgens de counters reset. Als ik die regel /root/traffic/trafficcount.sh copy en paste op me console werkt het perfect. Echter in de cronjob werkt het niet. Hij voert hem wel uit, want ik heb hem echo "blaat" >> /var/log/messages laten doen, en dat werkte. Maar hij voegt niet toe aan de database, weet iemand hoe dat kan?

  • Broer
  • Registratie: Januari 2002
  • Laatst online: 19-12-2025
probeer eens het volledige pad van mysql neer te zetten.

  • arikkert
  • Registratie: Juli 2002
  • Laatst online: 17-02 12:23
lijkt me inderdaad een environment probleem. cron foutmeldingen worden overigens gemailed naar crontab owner. mail lezen dus

  • Blubber
  • Registratie: Mei 2000
  • Niet online
oke werkt perfect! :)