Backup de diretórios do sistema Linux

Publicado por Amaury Borges Souza (última atualização em 01/06/2020)

[ Hits: 1.097 ]

Homepage: https://medium.com/@amaurybsouza

Download system-backup.sh




Basicamente esse script faz o backup de diretórios do sistema Linux,  basta você escolher o diretório de origem e destino que ele salva todo o conteúdo. Utilizei duas funções, algumas variáveis e o código todo escrito em if/else.

  



Esconder código-fonte

#!/usr/bin/env bash
# ------------------------------------------------------------------------ #
# Script Name:   system-backup.sh 
# Description:   Backup from /etc directory
# Site:          https://medium.com/@amaurybsouza
# Written by:    Amaury Souza
# Maintenance:   Amaury Souza
# ------------------------------------------------------------------------ #
# Usage:         
#       $ ./system-backup.sh
# ------------------------------------------------------------------------ #
# Tested on:  
#       Bash 4.2.46
# ------------------------------------------------------------------------ # 
# History:        v1.0 30/05/2020, Amaury:
#                - Start de program
#                - Add function
#                v1.1 30/05/2020, Amaury:
#                - Adding new variables
#                v1.2 30/05/2020, Amaury:
#                - Executing new tests in my system
# ------------------------------------------------------------------------ #
# Thankfulness: Amaury Souza
#
#VARIABLES --------------------------------------------------------------- #
ROOT_UID=0
data=`date +%d-%m-%y-%H:%M`
dir_source=/etc
dir_dest=/backup
#FUNCTIONS --------------------------------------------------------------- #
compact() {
   tar -cjvf $dir_dest/bkp-$data-usr.tar.bz2 $dir_source
}
isroot() {
   if [ "$UID" -ne "$ROOT_UID" ]
then
   echo ""
        echo "Must be root to run this script!"
   echo ""
        exit $E_NOTROOT
fi
}
#CODE -------------------------------------------------------------------- #
isroot
if [ -d $dir_dest ]
then
   compact
else
   if [ -f $dir_dest ]
   then
      echo "Not a dir $dir_dest it is a file"
      sleep 2
   else
      mkdir $dir_dest
      compact
   fi
fi
#FINISHED ---------------------------------------------------------------- #

Scripts recomendados

Backup de MySQL para uso no cron / cPanel

Backups de servidor CentOS com cPanel/WHM para servidor VPS Windows Server 2008

Backup completo

Backup da pasta de usuário em sistemas GNU/Linux sem copiar os arquivos ocultos

Backup e envio do arquivo + md5sum para o FTP da escolha do usuário


  

Comentários
[1] Comentário enviado por mauricio123 em 08/06/2020 - 22:47h


Ficou bem organizado.

___________________________________
Conhecimento não se Leva para o Túmulo.

[2] Comentário enviado por absouza em 08/06/2020 - 22:56h


[1] Comentário enviado por mauricio123 em 08/06/2020 - 22:47h


Ficou bem organizado.

___________________________________
Conhecimento não se Leva para o Túmulo.


Massa, aprendi em um curso na Udemy sobre documentar scripts. Antes usava um tosco modelo de documentação, agora detalho tudo, procuro deixar o máximo documentado para que as outras pessoas possam entender a estrutura.

[3] Comentário enviado por mauricio123 em 09/06/2020 - 22:14h


Também faço assim.

___________________________________
Conhecimento não se Leva para o Túmulo.


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