move.pl

Publicado por Carlos Carvalho 14/07/2004

[ Hits: 5.310 ]

Download move.pl




Script em Perl que move arquivos acima de 1Mb para outro diretorio. Esse script foi feito por mim para uma funcionalidade especifica ,
no entanto, ele pode ser usado como um exemplo para seu uso.

  



Esconder código-fonte

#!/usr/bin/perl
# Script que move arquivos maiores que 1 Mb
# para outro diretorio.
#
# move.pl
# carlos_lnx@ibest.com.br
#

use strict;
# Verifica se PID existe:
if (-e "/tmp/PID-longa") {
        my $pidi = `/bin/cat /tmp/PID-longa`;
        print("O programa nao pode ser executado, ja esta rodando com a PID = $pidi\n");
        print("Deseja matar o processo numero $pidi ?  [s/n]  ");
        my $proc = <STDIN>;
        chop $proc;
                if ($proc eq "s") {
                        system("/bin/kill -9 $pidi");
                        unlink("/tmp/PID-longa");
                        print("Killed!\n");
                }
        exit(1);
}

# Vai pra background:
print ("Estou em background...\n");
fork and exit;

# Cria arquivo com a PID do processo para futura verificacao:
my $child = $$;
open(FIL, ">/tmp/PID-longa") or die "NAO FOI POSSIVEL ESCREVER NO DIRETORIO /tmp, $!";
print(FIL "$child");
close(FIL);

while (true) {

# Recebe listagem de /u1/titan-prt/prt_laser_1:
my @arquivos = `/bin/ls /u1/titan-prt/prt_laser_1` ;
foreach (@arquivos) {

        # Retira ultimo caractere (enter):
        chop $_;

        # Verifica tamanho do arquivo com precisao:
        my $size = -s "/u1/titan-prt/prt_laser_1/$_";

        # Move arquivo caso ele seja >= 1048576, 1 MegaByte senao imprime:
        if ($size >= 1048576) {
        system("/bin/mv /u1/titan-prt/prt_laser_1/$_ /u1/titan-prt/prt_longa/")
        }
        else {
        system("/etc/lprint /u1/titan-prt/prt_laser_1/$_");
        unlink("/u1/titan-prt/prt_laser_1/$_") or die "$!";
        }
}
# Dorme por um segundo:
sleep(1);
}
#EOF

Scripts recomendados

Remove comentarios de scripts

getter

Processa todos os SlackBuild's

Adiciona-Altera senhas/usuarios no sistema

Eliminando caracteres indesejados


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts