[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