[Cascavel-pm] Zipando arquivos no servidor.

Luis Campos de Carvalho monsieur_champs em yahoo.com.br
Sexta Outubro 22 09:46:45 CDT 2004


----- Original Message ----- 
From: "João Gabriel" <jamorreu em gmail.com>
Sent: Monday, October 18, 2004 5:43 PM


> Fala pessoal!
>
> Me passaram esse código para zipar arquivos no servidor:
>
> TAR:
> tar -cvzf nome.tar.gz pastas arquivos etc
>
> ZIP:
> zip -r nome.zip arquivos pastas etc
>
> Logo, usei o comando system para executados, e fiz o seguinte teste:
>
> Para zipar como tar usei:
> (vai zipar a pasta fórum e esse arquivo tera o nome de teste.tar.gz)
> >>> system("tar -cvzf teste.tar.gz forum")
>
> Para zipar como zip usei:
> (vai zipar a pasta fórum e esse arquivo tera o nome de teste.zip)
> >>> system("tar -cvzf teste.zip forum")
>
> Porém nenhum dos códigos funcionaram e a página não deu erro.
> Alguém sabe o porque do código não ter funcionado?
>

  JG, você deve preferir as bibliotecas de criação em Perl.
  Já as indiquei no post anterior.

  Se você roda o comando system, deve se lembrar de verificar erros,
através de $?, que contém o status do último comando executado
(lembre-se de que comandos unix executados com sucesso retornam "0", que
é FALSO para o Perl!!!)

  Isto deve funcionar para você:

  #
  #  run_command( $programa, @argumentos )
  #
  sub run_command{
    # coleta argumentos
    my $program = shift;
    my @args = @_;

    # Executa programa
    system $program, @args;

    # Verifica status de saída, reporta erros
    if ($? == -1) {
      print "Execução falhou: $!\n";
    } elsif ($? & 127) {
       printf "Processo morreu com sinal %d, %s coredump\n",
              ($? & 127),  ($? & 128) ? 'with' : 'without';
    } else {
      printf "Processo saiu com valor %d\n", $? >> 8;
    }
  }

  Espero que isso te ajude.
  Putamplexos!
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Luis Campos de Carvalho is BSc in Comp Science,
 PerlMonk [SiteDocClan], Cascavel-pm Moderator,
 Unix Sys Admin && Certified Oracle DBA
 http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



Mais detalhes sobre a lista de discussão Cascavel-pm