Tente chamar /usr/bin/awk
em vez de apenas awk
.
Eu tenho este script. Quando eu o executo na linha de comando, tudo funciona bem. Quando eu corro do cron, ele só imprime metade dos dados
Os resultados devem ficar assim:
07/Feb/2012 11 0.5 07/Feb/2012 11 0.333333 07/Feb/2012 11 0.3
atualmente estou recebendo apenas os dados de data quando eu os executo a partir do cron:
07/Feb/2012 11 07/Feb/2012 11 07/Feb/2012 11 07/Feb/2012 11
Este é o script:
#!/bin/bash # PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/awk # Generate data and hour stamp date '+%d/%b/%Y %H' > /var/www/stats/datedata #Crank out and consider utlisation /usr/bin/./top -d 3 -n3 | /bin/./grep "Cpu" | awk '{ sum += $2/3 } END { print sum }' > /var/www/stats/usage_cpu # /usr/bin/./paste /var/www/stats/datedata /var/www/stats/usage_cpu >> /var/www/stats/thedata
Esta é a minha entrada no crontab: (Estou usando o / etc / crontab para configurar isso)
20 * * * * root /var/www/stats/./stats.sh