hbackup.pl

Publicado por Hatus Níwman 24/08/2006

[ Hits: 5.736 ]

Homepage: http://hatus.analyx.org

Download hbackup.pl




Faz um backup de arquivos cujos caminhos estão em um arquivo texto.

  



Esconder código-fonte

#!/usr/bin/perl
# backup-0.1.pl
# 2006-05-17 v0.1
#
# Autor: Hatus Niwman
# Email: hatus (a) yahoo com br
# Site: http://xhatus.cjb.net
#
# Faz o backup de arquivos listados
# no arquivo $LISTA
#
# OBS: colocar endereço completo do arquivo
# a ser salvo na lista.
# Ex.: /root/doc/prog/teste.txt

use strict;

# arquivo onde contem os endereços do arquivo a ser salvo
my $LISTA = "/root/lista-backup.dat";

my($opt,$endereco,$conf);

# configurando a data do backup
my %mes=(Jan => '01',Feb => '02',Mar => '03',Apr => '04',May => '05',
Jun => '06',Jul => '07',Ago => '08',Sep => '09',Oct => '10',
Nov => '11',Dec => '12');
my @time = split(" ",localtime());
my $data = "$time[4]$mes{$time[1]}$time[2]";

my $nome = "backup-$data";   ## dir de backup
my $dir_save = "/tmp";      ## dir onde será salvo o dir de backup
my $dir ="$dir_save/$nome";   ## dir onde contem os arquivos para salvar

print "Fazer backup dos arquivos? [y/n]: ";
chomp($conf = <STDIN>);
if ($conf=~/^[nN]$/){
   print "\nBackup cancelado!\n";
   exit(0);
} else { print "\n" };

if ($< != 0){
   print "Somente root tem permissão para fazer o backup.\n";
   exit(0);
}

# cria $dir se nao existir
if (! -d $dir) { system("mkdir $dir"); }

#verifica se a $LISTA existe
if (! -f $LISTA) {
   print "$LISTA não existe!\n";
   exit(0);
}


open(ARQ,"<$LISTA") or die "Erro!!!";
while(my $endereco = <ARQ>){
   chop($endereco);
   if(-d "$endereco"){ $opt = "-R"; }
   else { $opt=""; }
   if($endereco=~/^\//g){
      print "Salvando $endereco\n";
      system("/bin/cp $opt $endereco $dir");
   } else {
      print "ERRO: Nao foi possível salvar $endereco\n";
   }
}
close(ARQ);

print "\nCompactando $dir ...\n";
system("cd $dir_save && /bin/tar cfz $nome.tar.gz $nome");
print "\nBackup salvo em $dir.tar.gz\n";
print "Backup concluído!\n";

#EOF

Scripts recomendados

Monitor de portas

Port Scan

Password List 1.0

Crashing

Monitor do BO


  

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