Script de Backup de Sistema

Publicado por Enio Ferlin (última atualização em 08/05/2019)

[ Hits: 1.330 ]

Homepage: http://lattes.cnpq.br/0097812690686190

Download SystemBackupTAR.sh

Download 1557069197.SystemBackupTAR.sh (versão 2)




Script para Backup de Sistema, caso você queira experimentar outras distros e retornar ao padrão rapidamente. Têm as opções de backup em arquivo único, múltiplo e restauração.

Usei como base o script do Alex Marques: https://www.vivaolinux.com.br/script/Menu-em-Shell-Script

  



Versões atualizadas deste script

Versão 2 - Enviado por Enio Ferlin em 05/05/2019

Changelog: Correção de hierarquia de pastas geradas no Backup
Inclusão da opção de chroot do sistema em restauração

Download 1557069197.SystemBackupTAR.sh


Esconder código-fonte

#!/bin/bash

x="teste"
menu ()
{
while true $x != "teste"
do
clear
echo "================================================"
echo "Olá! Escolha pelo número uma das opções a seguir:"
echo ""
echo "1)Backup do Sistem em arquivo único"
echo ""
echo "2)Backup do sistema com divisão de arquivos"
echo ""
echo "3)Restaurar o sistema"
echo ""
echo "4)Sair"
echo ""
echo "================================================"
read x
echo "Opção informada ($x)"
echo "================================================"

case "$x" in


   1)
        echo "Informe o diretório que irá gerar o Backup"
        read LOCATION
        echo "Informe o local de destino do arquivo de Backup"
        read DESTINATION
        tar -cvpzf "$DESTINATION"/backup.tar.gz \
      --exclude=proc \
      --exclude=tmp \
      --exclude=mnt \
      --exclude=dev \
      --exclude=sys \
      --exclude=run \
      --exclude=media \
      --exclude=var/log "$LOCATION"/*
      sleep 3

echo "================================================"
;;

   2)
        echo "Informe o diretório que irá gerar o Backup"
        read LOCATION
        echo "Informe o local de destino do(s) arquivo(s) de Backup"
        read DESTINATION
        tar -cvpzf "$DESTINATION"/backup.tar.gz \
        --exclude=/backup.tar.gz \
        --exclude=/proc \
        --exclude=/tmp \
        --exclude=/mnt \
        --exclude=/dev \
        --exclude=/sys \
        --exclude=/run \
        --exclude=/media \
        --exclude=/var/log "$LOCATION" \
       | split -d -b 3900m - "$LOCATION"/backup.tar.gz
      sleep 3

echo "================================================"
;;

   3)
      echo "Informe o local do(s) arquivo(s) de Backup"
      read LOCATION2
      echo "Informe o local onde irá descompactar o Backup"
      read DESTINATION2
      sudo tar -xvpzf "$LOCATION2"/backup.tar.gz -C "$DESTINATION2" --numeric-owner
      sudo mkdir /proc /sys /mnt /media

echo "================================================"
;;
   4)
       echo "saindo..."
        sleep 5
        clear;
        exit;

echo "================================================"
;;

   *)
        echo "Opção inválida!"
esac
done

}
menu

Scripts recomendados

Backup de MySql para outro servidor FTP!

Backup com mysqldump

Backup de MySQL para uso no cron / cPanel

Backup incremental com rsync

Ferramenta de backup do HD para dispositivos externos


  

Comentários
[1] Comentário enviado por Cizordj em 18/06/2019 - 11:30h

Eu não entendi direito a lógica dessa parte

while true $x != "teste"

ele faz o menu se repetir pra sempre? até o usuário sair?


<---------------------------------------------------------------->
O seu tempo é o único bem que você não recupera


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts