move.pl

Publicado por Carlos Carvalho 14/07/2004

[ Hits: 5.315 ]

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

Shadow Post It

Script que remove palavras de um arquivo.

getter

Adiciona-Altera senhas/usuarios no sistema

Script para adicionar e remover usuários no IMSPECTOR


  

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