Пока NetApp может представить LUN и волоконно-оптическому каналу и интерфейсам iSCSI одновременно, это не должна быть проблема. Однако, чтобы сделать это хост ESXI должен был бы быть членом кластера, которого другие две машины являются членами, иначе объем станет поврежденным.
Apache идет с rotatelogs, который делает точно, что Вы ищете.
CustomLog "|/usr/bin/rotatelogs -l /var/logs/apache2/access.log.%Y%m%d 86400" combined
ErrorLog "|/usr/bin/rotatelogs -l /var/logs/apache2/error.log.%Y%m%d 86400"
Или можно записать собственный маленький сценарий, который делает это. Apache, чем каналы это - журнал к STDIN того сценария снова с помощью следующего синтаксиса
CustomLog |/path/to/logger.pl combined
Ваш сценарий читает строки журнала на STDIN и пишет им в файл журнала, которые называют Вас, может выбрать и измениться свободно.
Сценарий мог выглядеть примерно так
#!/usr/bin/perl
use warnings;
use strict;
use Time::Local;
use IO::Handle;
my $logfilePrefix = '/var/log/apache2/access.log.';
my $rotateAt;
openLog();
while(my $l = <STDIN>)
{
reopenLog() if(time() >= $rotateAt);
print LOG $l;
}
close(LOG);
exit 0;
sub openLog
{
my ($day, $month, $year) = (localtime)[3,4,5];
my $logfile = $logfilePrefix.sprintf("%04d%02d%02d", $year+1900, $month+1, $day);
$rotateAt = timelocal(0, 0, 0, (localtime(time() + 86400))[3,4,5]);
open(LOG, ">> $logfile") || die "couldn't write to $logfile: $!\n";
LOG->autoflush(1);
}
sub reopenLog
{
close(LOG);
openLog();
}
Дальнейшее чтение: http://httpd.apache.org/docs/2.2/logs.html#piped