Sorry to repost to this thread but it was coming up in google searches and had no responses from this forum. With help from a thread I started in another forum I have what I think may be the solution. Although not fully tested yet, it is at least a step in the right direction.
quoted from Lin-chi from :
http://www.freebsdforums.org/forums/...d=1#post191445
Using the -a option to move archived log files into different directories will require breaking down the entry in cron I believe. I would do something like the following:
1. Move entries that are going into their own directories into a new conf file, e.g. /etc/newsyslog.separate.conf. These would be your httpd, ftpd, etc.
2. Leave all log rotation entries going into the same directory, i.e. system logs, in /etc/newsyslog.conf.
3. Change the cron entry for the system logs to move archives to the same directory: 0 * * * * root newsyslog -a /root/log/system
4. Add cron entries for the specific directories:
0 23 * * * root newsyslog -f /etc/newsyslog.separate.conf -a /root/log/httpd /var/log/http-error.log /var/log/httpd-access.log
0 23 * * * root newsyslog -f /etc/newsyslog.separate.conf -a /root/log/ftpd /var/log/vsftpd.log
I'd personally change the rotation time for the specific logs to "$M1D0" so I could use the "@monthly" string for the schedule in cron.
BTW, I have no idea on the HUP for vsftpd. Try running newsyslog manually on it and see if it continues to write to the log after it's been rotated. Of course, you can only do this if you can afford to lose a few lines of log.
[end quote]
Hope that helps some of the people that were doing google searches like I was from pulling up a thread with no responses.