Script simples de backup de arquivos em máquina remota
Publicado por Carlos Eduardo de Andrade 29/10/2007
[ Hits: 6.494 ]
Este é um script muito simples de backup de arquivos em máquinas remotas.
Você pode criar listas de arquivos a serem incluídos e excluídos dos backup. Não é interativo, portanto pode ser usado com algum agendador de tarefas (cron por exemplo).
Ele usa cópia por ssh, usando chaves (ver artigo http://www.vivaolinux.com.br/dicas/verDica.php?codigo=7105).
Espero que seja útil. Publicarei algumas variações que podem ser úteis na seção de dicas.
[]s a todos
#!/bin/bash # # Backup script para uso semanal. # # Carlos Eduardo de Andrade # ce.andrade@gmail.com #------------------------[ Configurações ]------------------------# # lista de diretório e/ou arquivos a serem "backpeados" INCLUDE_LIST=scripts/backup_defs/include.list # lista de diretório e/ou arquivos a NÃO serem "backpeados" EXCLUDE_LIST=scripts/backup_defs/exclude.list # Diretório onde salvar BACKUP_DIR=backup # Nome do arquivo: usamos data reversa para facilitar # a pesquisa posterior BACKUP_NAME=backup_completo_`date +%Y%m%d-%a`.tgz # Usuário e máquina remota onde salvar REMOTE_MACHINE=carlos@192.168.1.10 #---------------------------[ Execução ]--------------------------# # Fazer backup cd ~ # Compacta tudo. Aqui uso gzip. Se quiser, pode usar bzip trocando # o argumento "z" p/ "j" tar -czf $BACKUP_DIR/$BACKUP_NAME --exclude-from=$EXCLUDE_LIST \ $(cat $INCLUDE_LIST) # Opcional: apaga backups antigos #ssh $REMOTE_MACHINE "rm -rf $BACKUP_DIR/*" # Copia para máquina remota. Note que copiamos por scp. # Assim, vc deve ter a chave da máquina remota em seu .ssh scp $BACKUP_DIR/$BACKUP_NAME $REMOTE_MACHINE:$BACKUP_DIR/.
Script para montar/desmontar cdrom e disquete
Verificando quais hosts estão ativos na rede
dForm - Formatador de Dispositivos
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Consertando o áudio com som ruim no Pipewire
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... (2)
Como programar um sistema de controle para distribuições linux em c? (3)









