Backup e envio do arquivo + md5sum para o FTP da escolha do usuário
Publicado por Marcelo Gonçalves (última atualização em 19/01/2016)
[ Hits: 3.476 ]
O script auxilia o usuário no dia-a-dia para gerar backups de uma pasta e enviar direto para um FTP. Quando executado no terminal, o script faz perguntas para que o usuário gere uma compactação personalizada e no final da rotina, o mesmo cria um arquivo md5sum para posterior verificação de sua integridade.
#!/bin/bash ###################################################################################### # # # # # rotina_de_backup.sh # # # # # # - Faz backup de um arquivo ou de uma pasta com possibilidade # # de enviar para um ftp de escolha do usuário # # # # # # - Os backups são de extensão .tar.bz2 # # # # Autor: Marcelo dos Santos Gonçalves <marcelo.dsgoncalves@gmail.com> # # # # # # # # Versão 1: Faz backup em .tar.bz2 e envia para um ftp de escolha do usuário # # # # Campinas, 14 janeiro 2016 # # # # # # # # # # Licença: GPL # # # # # ###################################################################################### echo -n '\033[5;47;1;31m Rotina de Backups - Incializando o backup ........ \033[m' echo echo -n "\033[5;47;1;31m Por favor escolha um nome para o backup: Ex.: Backup_Financeiro \033[m " read NOME echo -n "\033[5;47;1;31m Por favor informe o caminho da pasta onde você deseja salvar: Ex.: /home/ \033[m " read TEMP echo -n "\033[5;47;1;31m Por favor informe o caminho da pasta que você deseja fazer o backup: Ex.: /opt/financeiro/\033[m " read DOC # Data usada na nomenclatura do arquivo de backup #DATA=`date +%d%m%Y` # Barra vazia echo -n '\033[5;47;1;31m[.................................................] 0% \033[m' passo='\033[5;47;1;31m#####\033[m' for i in 10 20 30 40 50 60 70 80 90 100; do sleep 1 pos=$((i/2-5)) # Calcula a posição atual da barra echo -n '\033[G' # Vai para o começo da linha echo -n "\033[${pos}C" # Vai para a posição atual da barra echo -n "$passo" # Preenche mais um passo echo -n '\033[53G' # Vai para a posição da porcentagem echo -n "\033[5;47;1;31m$i % \033[m" # Mostra a porcentagem case "$i" in 10) # Processo para gerar o arquivo de backup BKP="$NOME"_`date +%d%m%Y`.tar.bz2 tar -P -jcpf $TEMP/$BKP $DOC ;; 30) # Processo para gerar o arquivo de verificação touch $TEMP/"$NOME"_`date +%d%m%Y`_hash.txt md5sum $TEMP/$BKP > "$NOME"_`date +%d%m%Y`_hash.txt ;; esac done echo echo -n "\033[5;47;1;31mVocê quer enviar o arquivo para um FTP? (sim | s ou nao | n)\033[m" read ENVIAR case $ENVIAR in s|sim) echo "\033[5;47;1;31m Qual é o endereço do FTP? \033[m" read HOST echo "\033[5;47;1;31m Qual é o usuário do FTP? \033[m" read USER echo "\033[5;47;1;31m Qual é a senha do FTP? \033[m" read PASSWD touch "$TEMP"FTP_"$NOME"_`date +%d%m%Y`.log #Comando para criar um arquivo vazio para colocar informação de log filename="$NOME"_`date +%d%m%Y`.tar.bz2 dirname="$TEMP" #Comandos para enviar FTP ftp -i -n "$HOST" <<END_SESSION quote USER "$USER" quote PASS "$PASSWD" mkdir "$NOME"_`date +%d%m%Y` cd "$NOME"_`date +%d%m%Y` put "$dirname""$filename" "$filename" put "$NOME"_`date +%d%m%Y`_hash.txt quit END_SESSION #Comando para gerar o Log de envio echo " Envio de arquivo realizado com sucesso " > "$TEMP"FTP_"$NOME"_`date +%d%m%Y`.log exit 0 ;; n|nao) echo "\033[5;47;1;31m Qual é o endereço do FTP? \033[m" exit 0 ;; *) echo "\033[5;47;1;31m Opção inválida, mas seu backup foi feito com sucesso na pasta desejada! \033[m" exit 1 ;; esac
Backup de diretórios do sistema Linux
Backup do PostgreSQL 8.3 e aviso por e-mail
Script de backup MySQL [melhorado]
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)