[Rio-pm] Cópia de arquivos entre computadores...
Otávio Fernandes
otaviof em gmail.com
Terça Julho 14 19:51:54 PDT 2009
2009/7/14 Ailton Zacarias <ailtonzsilva em yahoo.com.br>:
> Boa tarde,
>
> Faz algum tempo que fiz um script p/ copiar arquivos conforme uma lista p/
> uma determinada pasta no mesmo local do script. Agora preciso fazer com que
> os mesmos arquivos que estou copiando p/ esta pasta seja copiado tbm p/ uma
> outra pasta em outro computador em minha rede já pesquisei na net porem não
> consegui entender como faço isso... alguem pode me ajudar.
>
> Segue código e modelo de Arquivo de Listagem:
>
> [Código]
>
> #!c:/Perl/perl.exe -w
>
> use strict;
> use warnings;
>
> my $Lista = 'Arquivos.txt';
> my $Caminho = 'BKP';
>
> BKP($Lista,$Caminho);
>
> sub BKP{
> # ARQV, DESTINO
> use File::Copy;
> open(my $file, q{<}, $_[0]);
> foreach my $arquivo ( <$file> ) {
> #Remove o último caractere apenas se for igual a $/ "Separador de
> regsitro"
> chomp($arquivo);
> # Verifica se o arquivo existe
> if (-e $arquivo){
> mkdir $Caminho;
> copy($arquivo,$_[1]."/".DataHora()."_".$arquivo) or die "Copy
> failed: $!";
> }
> }
> }
>
> # Criar layout de data
> sub DataHora{
> my($dd,$mm,$yy,$day,$hh,$nn) = (localtime)[3,4,5,6,2,1];
> my $today = join '', map sprintf("%02d", $_),($yy%100,$mm+1,$dd,);
> my $hr = join '', map sprintf("%02d", $_),($hh,$nn);
>
> # "Vasio" = Data e hora | "1" Apenas Data
> my $data = $_[0] ? $today:$today.'_'.$hr;
>
> my $datahora = $data;
>
> return ($datahora);
> }
>
>
>
> -------------------------------------------------------------------------------------------------
>
>
> [Arquivo de Listagem]
>
> dbDados.mdb
> dbContato.mdb
>
>
>
> Obrigado!
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
Olá Ailton,
No seu lugar eu não utilizaria um script caseiro para fazer esta
tarefa, pensaria em algo como um deployment manager, algo parecido com
o que o Capistrano faz. Se estivéssemos em um ambiente unix-like eu
lhe recomendaria o Rsync (ele também pode ser utilizado em Win32,
porem dá bastante trabalho), Capistrano, Puppet, CFEngine, entre
outros.
P.S.: Meus dois centavos.
um abraço,
--
Otávio Fernandes <otaviof at gmail.com>
http://otaviof.blogspot.com/
Mais detalhes sobre a lista de discussão Rio-pm