image

Accede a bootcamps ilimitados y a más de 650 cursos para siempre

Disponible sólo:

42 vacantes
Article image

RM

Rafael Mota24/01/2024 16:47
Compartir
CI&T - Do Prompt ao AgenteRecomendado para tiCI&T - Do Prompt ao Agente

Como fazer backup usando shell scripts

  • #Linux

Em geral, um shell script configura quais diretórios devem ser copiados e passa esses diretórios como argumentos para o utilitário tar, que cria um arquivo compactado. O arquivo compactado pode então ser movido ou copiado para outro local. O arquivo também pode ser criado em um sistema de arquivos remoto, como uma montagem Network File System (NFS).

O shell script

O shell script a seguir usa tar para criar um arquivo compactado em um sistema de arquivos NFS montado remotamente.

#!/bin/bash

# Definição dos diretórios a serem copiados.
backup_files="/home /var/spool/mail /etc /root /boot /opt"

# Diretório de destino do backup.
dest="/mnt/backup"

# Criação do nome do arquivo de backup com a data e o nome do host.
day=$(date +%Y-%m-%d)
hostname=$(hostname)
archive_file="${hostname}-${day}.tgz"

# Mensagem de início do backup.
echo "Iniciando backup dos seguintes diretórios:"
echo "$backup_files"
echo "para o destino: $dest/$archive_file"
echo "Data e hora do início do backup:"
date
echo

# Backup dos arquivos utilizando o tar.
tar czf "${dest}/${archive_file}" $backup_files || {
  echo "Erro ao criar o arquivo de backup. Abortando."
  exit 1
}

# Mensagem de conclusão do backup.
echo
echo "Backup concluído com sucesso."
echo "Data e hora do término do backup:"
date

# Listagem detalhada dos arquivos no destino para verificar os tamanhos.
echo
echo "Listagem detalhada dos arquivos no diretório de backup:"
ls -lh "$dest"

Executando o script

Execute a partir de um terminal

A maneira mais simples de usar o script de backup acima é copiar e colar o conteúdo em um arquivo (chamado backup.sh por exemplo). O arquivo deve ser tornado executável:

chmod u+x backup.sh

Em seguida, em um terminal, execute o seguinte comando:

sudo ./backup.sh

Essa é uma ótima maneira de testar o script para garantir que tudo funcione conforme o esperado.

Referências

Repositório do GitHub



Compartir
Recomendado para ti
Linux Experience
GFT - Fundamentos de Cloud com AWS
Bootcamp Afya - Automação de Dados com IA
Comentarios (0)
Recomendado para tiCI&T - Do Prompt ao Agente