syncnow - sincronizar diretórios com servidor local

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

[ Hits: 1.636 ]

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

Instalação do Snoopy

Bash script para converter decimal para hexadecimal mole!

Ligar máquinas virtuais Xen seguindo ordem de criação

Filtrando processos facilmente com psaux ( ps aux + grep + wc -l)

Script que identifica na rede a existência de duplicidades de IPs e MACs que utilizam mais de um IP


  

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