hbackup.pl
Publicado por Hatus Níwman 24/08/2006
[ Hits: 5.736 ]
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
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Mensagem quando tento fazer o apt update && apt upgrade no kal... (0)
Modernização e Avanço do Linux. (22)
Recuperando arquivo corrompido no cartão de memoria pelo linux [RESOLV... (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta