[Script] Backup Incremental para compartilhamentos Windows

Scripts para automa
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1516
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 41
Contato:
Status: Offline

[Script] Backup Incremental para compartilhamentos Windows

Mensagem por marceloleaes »

O script utiliza o rsync, que copia apenas os arquivos novos ou os que foram modificados.

O script está pré-configurando para realizar o backup diário, e criar uma pasta para cada dia da semana, assim teremos 1 cópia para cada dia.

Configure seu cron para rodar no horário que sua rede tiver menos tráfego, e nos dias que você tem certeza que terão modificações em seus arquivos, por exemplo: se sua empresa funciona de segunda à sexta, não tem porquê colocar o script para rodar nos fins de semana.

Segue código:

Código: Selecionar todos

#! /bin/bash

semana=$(date +"%a") 
nome_semana=$(date +"%A") 
DIR_BKP="/backup/"$semana"/"
DIR_LOG="/backup/logs/"$(date +"%d_%m_%Y")"_"$semana"/"

sudo mkdir $DIR_LOG
sudo mkdir $DIR_BKP

login='' # Usuário do AD com privilégios para acessar os compartilhamentos
senha='' # Senha do Usuário do AD
dominio='' # Seu domínio

function log(){
	data=$(date +"%H:%M:%S")
	echo $data- $1 >> $DIR_LOG"log.log"
}

function log2(){
	echo "" >> $DIR_LOG"log.log"
}

function fazBackup(){	
	dir_bkp=$DIR_BKP$2
	dir_log_rsync=$DIR_LOG"log_"$2".log"	

	log "Fazendo coṕia dos arquivos de "$2" ("$1" para "$dir_bkp")"
	rsync --delete -v --log-file=$dir_log_rsync -Cravzp $1 $dir_bkp
	log "Fim coṕia dos arquivos em "$1" para "$dir_bkp

}

log "Iniciando Backup diário de "$nome_semana" em "$(date +"%d-%m-%Y")
log2

sudo mount -t cifs -o username=$login,password=$senha,workgroup=$dominio //IP_DO_SERVIDOR/NOME_DO_COMPARTILHAMENTO /mnt/NOME_DO_PONTO_DE_MONTAGEM -o iocharset=utf8

fazBackup "/mnt/NOME_DO_PONTO_DE_MONTAGEM" "NOME_PARA_O_LOG"
sudo umount /mnt/NOME_DO_PONTO_DE_MONTAGEM

log2
log "Finalizando Backup diário de "$nome_semana" em "$(date +"%d-%m-%Y")
log2
log2
Bom proveito  ;)


"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio

Voltar para “Scripts”