syncnow - sincronizar diretórios com servidor local

Publicado por Slackjeff (última atualização em 27/11/2018)

[ Hits: 1.565 ]

Homepage: https://slackjeff.com.br

Download syncnow




Simples programa para sincronizar diretórios com servidor local.

  



Esconder código-fonte

#!/usr/bin/env bash
#====================HEADER==========================================|
#AUTHOR
#  Jefferson Rocha
#
#Descrição
#  Programa de sincronização das minhas máquinas para meu
#  servidor local, utilize as variáveis para alterar conforme
#  a sua necessidade
#  Se deseja adicione no cron para fazer isto 1 ou talvez 2 vezes ao
#  dia. Isto deve ser suficiente para ficar tudo sincronizado.
#====================================================================|

#===============CONFIGURAÇÃO
user='slackjeff'                # Usuario do servidor
server='192.168.0.26'           # Ip do Servidor, não use alias
port='2606'                     # Porta do Servidor
log='/tmp/backup-rsync.log'     # Local para log

# Se deseja ativar o envio de logs ao final
# do rsync deixe com 1, caso deseje desligar
# preencha com 0
log_key='1'
#==========================


#============Testes
# Sem conectividade, servidor off.
ping -c 2 "$server" &>/dev/null || exit


#============ATENÇÃO
# Em ambas arrays utilize o diretório completo
# para não ter futuros problemas. Utilize tambem
# o número do indice na frente do caminho, ex:
# [10]='/tmp/arquivostemp' para um visualização
# melhor Origem ----> Destino

# Diretórios de origem/Máquina Local.
home='/home/slackjeff' # Seu home
list_arch=(
   [0]='/tmp/*_SBo.t?z'
   [1]="${home}/cartao/"
   [2]="${home}/scripts/"
   [3]="${home}/public_html/"
)
# Diretórios de Destino/Servidor
home_server='/home/media'
list_dir=(
   [0]="${home_server}/pacotes_slackbuilds/"
   [1]="${home_server}/documentos/"
   [2]="${home_server}/scripts/"
   [3]="${home_server}/site_slackjeff/"
)

i='0' # Incremento
until [[ $i -ge "${#list_arch[@]}" ]]; do
   rsync -avhz -e "ssh -p ${port}" \
   ${list_arch[$i]} ${user}@${server}:${list_dir[$i]} || exit 1
   let i++
done

# Enviando log para /var/log/
# necessida de root para ter sucesso.
if [ $log_key -eq '1' ]; then
   cat >> "$log" <<EOF
Log realizado em: $(date "+%d/%h/%y %H:%M")
+++++++++++++++++++++++++++++++++++++++

EOF
fi

exit 0

Scripts recomendados

Backup do banco de dados Postgresql

Script que envia email para um Relay sem autenticação.

Java 7/8 - Instalação automatizada no Ubuntu

Envia e-mails periodicamente com back-up do servidor

Script de compilação do Xorg 7.2 otimizado para Slackware 64 bits (Slamd64)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts