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.340 ]
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
Configuração de backup com rsync sem senha
Fazendo backup durante a semana em pastas distintas, equivalentes ao dia da semana
Backup incremental com montagem automática e e-mail
DriveTool.sh: um script para cópia rápida e segura de arquivos para unidades flash USB
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Remoção de propaganda com o programa Comskip[AJUDA] (4)
Instalação do drive do adaptador wiffi (5)
Linux Lite Demorando Muito Para Ligar (1)