Backup da database do gerenciador de pacotes RPM

Publicado por Henry Mendes (última atualização em 14/12/2009)

[ Hits: 4.989 ]

Homepage: www.henrypage.freeweb7.com

Download bkprpm.sh




Para o pessoal que usa variantes do Red Hat, o RPM pode ficar inutilizável caso se apague ou corrompa o banco de dados de pacotes instalados. Como eu já passei por isso, resolvi criar um simples utilitário que faz o backup desse banco de dados do RPM, o qual fica em /var/lib/rpm.  Espero que seja útil!

  



Esconder código-fonte

#!/bin/bash

#rpmbkp 1.0 por henry mendes
#email [email protected]

#local dos backups do database do RPM. Coloque o script neste mesmo diretorio
BKPTRGT=/opt/rpmbkp

DATE=$(date +%d%m%y)
RPMDB=/var/lib/rpm
PARAM=$1

# se nao for root abortar
if [ $UID -gt 0 ]; then
   echo Voce deve utilizar o usuario root para usar este script. 
else
   if [ -z $PARAM ]; then
      echo -ne "voce nao forneceu parametros\nb -> fazer backup do database rpm\nr -> restaurar database do backup\n"
      exit 1
   else

      if [ $PARAM == 'b' ]; then
      echo backup
         if [ -d $RPMDB ]; then
            tar -cvzf $BKPTRGT/rpmdb.bkp.$DATE.tar.gz $RPMDB
            echo Backup do database RPM concluida!
         else
            echo -ne "Erro ao fazer o backup do DB .\nEssa Distro nao usa pacotes RPM.\n\n"   
         fi

      exit 0 
      fi
      
      if [ $PARAM == 'r' ]; then
            echo -ne "restaurar backup feitos do database RPM:\n";

         for x in $(ls $BKPTRGT|cut -d '.' -f 3);
         do      
            echo $x
         done;

            echo "Digite data do backup para restaurar (pressione CTRL+C para abortar):";

         read DTRESTORE

         RESTBKP=$BKPTRGT/rpmdb.bkp.$DTRESTORE.tar.gz   
      

         if [ -f $RESTBKP ]; then

         echo restaurando database RPM da data $DTRESTORE   

            if [ -d $RPMDB ]; then   
               #renomeia o database antigo   
               mv $RPMDB /var/lib/rpm.old   
               tar -xvzf $RESTBKP -C /
            else
               mkdir $RPMDB      
               tar -xvzf $RESTBKP -C /      
            fi               
      
            echo Restauracao do database RPM concluida!         
         else
            echo Abortada a restauracao. Nao ha backup para esta data.
         
         fi   
      fi
   fi
fi
exit 0

Scripts recomendados

Script para Gerenciamento de Pacotes no Slackware

Script simples de backup de arquivos em máquina remota

conversor de bases no shell

AptList v1.1 - instalação de pacotes DEB a partir de uma lista

auto-giftd


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts