The problem is likely that Nagios is never killed/restarted so that it starts logging to a new log file. Here are a couple examples that show how you'd go about doing the
/sbin/service nagios reload > /dev/null 2>/dev/null || true
Or something more direct:
/bin/kill -HUP `cat /var/run/nagios.pid 2> /dev/null` 2> /dev/null || true
Letting Nagios do it
However in newer versions of Nagios it actually will rotate its own log files. The included logrotate configuration file even states as much.
On a Fedora 19 install of Nagios version 3.5.1-1:
$ more /etc/logrotate.d/nagios
# Important! Nagios rotates its own logs. Only enable this logrotate if you
# know what you are doing!
# For more information please see "log_rotate_method" in:
# ----- logrotate config -------------
# create 644 nagios nagios