[SP-pm] Cópia de arquivos
Diogo Rocha Bezerra
diogo em hbsis.com.br
Quarta Maio 23 03:58:20 PDT 2007
Caros,
Bom dia!
Necessito várias vezes durante o dia, fazer cópia de arquivos de log (texto simples)que se encontram em vários servidores.
Segue abaixo um esboço do que estou tentando automatizar..
#carrega lista de servidores e ip
$servidor = $dbh->prepare("SELECT nom_servidor,ip_servidor from servidores where cod_servidor = 1") or die "$DBI::errstr\n";
$servidor->execute() or die "$DBI::errstr\n";
# efetua cópia dos log´s para a estação
while(my $result = $servidor->fetchrow_hashref())
{
$ip_server = $result->{ip_servidor};
$ip_server =~ s/ //gi;
$server = $result->{nom_servidor};
$server =~ s/ //gi;
#mapeia unidade de rede
print "Conectando-se ao ".$server."\n";
system("NET USE X: \\\\".$server. "\\compartilhamento\\LOG /USER:AAAAA BBBBB");
#cria diretório se não existir
system("IF NOT EXIST ".$dir_sistema."\\temp\\".$server." (MKDIR ".$dir_sistema."\\temp\\".$server.")");
#copia log
print "Copiando ".$nom_log_proc."\n";
system("copy x:\\".$nom_log_proc." ".$dir_sistema."\\temp\\".$server."\\ /Y");
print "\n";
#deleta unidade de rede
system("NET USE X: /D");
}
Porém como o arquivo a ser copiado é muito grande +- 3,5Mb, quando realizo a cópia ele fica bloqueado para edição impedindo que sejam inseridas novas informações no log.
Existe alguma forma de codificar, sem usar o Sistema Operacional, que eu consiga realizar essa cópia sem bloquear o arquivo?
Desde já agradeço a atenção de todos.
Diogo Rocha Bezerra
Operações - Suporte SIV
HBSIS Informática Ltda - CMMI
' (47) 2123-5845
diogo em hbsis.com.br
www.hbsis.com.br
msn: op3drb
Mais detalhes sobre a lista de discussão SaoPaulo-pm