hbackup.pl
Publicado por Hatus Níwman 24/08/2006
[ Hits: 6.069 ]
Homepage: http://hatus.analyx.org
Faz um backup de arquivos cujos caminhos estão em um arquivo texto.
#!/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
script para encontrar verificar a vulnera bilidade RFI
Nenhum comentário foi encontrado.
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
O Editor de Texto Nano: Simplicidade no Terminal
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
[Resolvido] Meu monitor suporta 100fps. Por que o máximo é 60fps nos jogos?
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
[pedido] biglinux versao 1 (0)
A falsa sensação de que entende a tal da palavra! (1)









