1
egrep -w 'TCP|UDP' ~/IPsDenied.txt | sed 's/:[^:]* in/ in/' | awk '{cmd="echo "$5" | geoIP | fgrep 'Country:' | cut -c 16-43"; cmd | getline rslt; close(cmd); print $1" "$2" "$3" "$4" "$5" "$6" "rslt}' >> ~/IPtoCountry.txt

launchd または cron を使用すると、ステートメント内の geoIP スクリプトが呼び出されないのはなぜですか? 手動で正常に実行されます... geoIP の完全な PATH を or or のように入れてみ~/geoIPまし./geoIP/Users/Admin/geoIP

#IPsDenied.txt
Apr 6 08:58:16 TCP 212.58.244.61:80 in

#IPtoCountry.txt
Apr 6 08:58:16 TCP 212.58.244.61 in United Kingdom

代わりに、私はただ得ます

Apr 6 08:58:16 TCP 212.58.244.61 
4

1 に答える 1

2

cron ジョブは多くの場合、限られた '$PATH' で実行されるため、同じことを試してください。ただし、geoIP アプリへの絶対パスを指定してください。

于 2012-04-06T13:58:02.757 に答える