Conjunto de mudanças 4210 no repositório publico


Ignorar:
Timestamp:
12/08/2009 02:19:27 (12 anos atrás)
Autor:
vitorchoi
Mensagem:

Implementadas as mudanças acordadas na reunião de 11/ago.

. Criado script para desconectar os workers
. Criada opção para o script puxar_indices executar um comando

após uma cópia bem-sucedida.

. Renomeado o cronjob para algo mais significativo.
. Documentação atualizada. (notas.txt)

Localização:
lexml/scripts
Arquivos:
3 adicionados
1 removido
7 editados

Legenda:

Não Modificado
Adicionado
Removido
  • lexml/scripts/Makefile

    r4149 r4210  
    77
    88install_scripts:
    9         bash -x ./instalar  scripts
     9        bash ./instalar  scripts
    1010
    1111install_origem:
    12         bash -x ./instalar origem
     12        bash ./instalar origem
    1313
    1414install_destino:
    15         bash -x ./instalar destino
     15        bash ./instalar destino
    1616
    1717uninstall:
    18         bash -x ./instalar desinstalar
     18        bash ./instalar desinstalar
    1919
  • lexml/scripts/atualiza_indices

    r4149 r4210  
    11#!/bin/bash
     2cat << EOF
     3
     4
     5ESTE SCRIPT ESTÁ OBSOLETO E PODE SER REMOVIDO A QUALQUER MOMENTO.
     6
     7EOF
    28
    39# Descomente para debugar
  • lexml/scripts/doc/notas.txt

    r4149 r4210  
    22. Documentação...
    33
    4 == Lembretes ==
    5 . É necessário ter pelo menos 2x o espaço da base de dados no destino.
    6   O tamanho esperado da base de dados + índices na produção é de 12GB,
    7   portanto o uso de disco para a base de dados deve ser 24GB.
     4== Configurando o servidor de origem ==
     5. É necessário criar um usuário para cada worker no servidor de origem,
     6  com acesso de LEITURA aos arquivos necessários. Nestes usuários serão
     7  instaladas as chaves públicas.
     8  ex: adduser --disabled_password --gecos "copia sitio A" sitio-a
    89
    9 == Configurando o servidor de origem ==
    10 . É necessário criar um usuário (ex. lexmlcopy) no servidor de origem,
    11   com acesso de LEITURA aos arquivos necessários. Neste usuário serão
    12   instaladas as chaves públicas.
     10. Cada um dos usuários criados no item acima deve ser adicionado ao
     11  grupo lexmlcopy.
     12  ex: adduser sitio-a lexmlcopy
     13
     14. Adicione a chave pública de cada worker ao arquivo authorized_keys
     15  de cada usuário. As chaves são únicas para cada worker, geradas pelo
     16  administrador do mesmo após a instalação.
     17  ex: no exemplo considere:
     18          usuário: sitio-a
     19          arquivo onde está gravada a chave pública: lexmlcopy.pub
     20
     21     mkdir -p /home/sitio-a/.ssh
     22     chown sitio-a /home/sitio-a/.ssh
     23     cp lexmlcopy.pub /home/sitio-a/.ssh/authorized_keys
     24     chown sitio-a /home/sitio-a/.ssh/authorized_keys
     25     chmod go-rwx /home/sitio-a/.ssh/authorized_keys
    1326
    1427. Convém configurar o arquivo /etc/hosts.allow do servidor de origem
     
    1730  Exemplo:
    1831
    19     sshd: 200.199.205.112: ALLOW   # Servidor hipotético 1
     32    sshd: 200.200.200.200: ALLOW   # Servidor hipotético 1
    2033    sshd: 189.123.123.111: ALLOW   # Servidor hipotético 2
    2134    sshd: ALL: DENY # Nega o acesso dos restantes
    2235
    2336== Configurando os servidores de destino: SSH ==
    24 
    25 
    26 
    27 
     37 . puxar_chaves
     38 . make instalar_destino (este comando criará chaves ssh)
     39 . transmitir a chave pública para o administrador do sevidor
    2840
    2941== Considerações sobre escalabilidade ==
  • lexml/scripts/instalar

    r4195 r4210  
    11#!/bin/bash
    22
    3 set -x
     3# Descomente para debugar
     4#set -x
    45
    56LIBDIR=/usr/local/lib/lexmlcopy
    67ETCDIR=/etc/lexmlcopy
    7 LEXMLCOPYUSER=lexmlcopy
    88
    99
     
    3737install -m 0500 puxar_indices $LIBDIR/puxar_indices
    3838install -m 0500 puxar_chaves $LIBDIR/puxar_chaves
    39 install -m 0644 cronjob-lexmlcopy $LIBDIR/cronjob-lexmlcopy
     39install -m 0644 cronjob-puxar_indices $LIBDIR/cronjob-puxar_indices
    4040install -m 0755 liblock.sh $LIBDIR/liblock.sh
    4141install -m 0755 atualiza_indices $LIBDIR/atualiza_indices
     42install -m 0755 desconecta_workers $LIBDIR/desconecta_workers
    4243
    4344install -m 0600 atualiza_indices.conf $ETCDIR
     45install -m 0600 desconecta_workers.conf $ETCDIR
    4446install -m 0600 puxar_indices.conf $ETCDIR
    4547install -m 0600 puxar_indices.exclude $ETCDIR
     
    5153rm -f $LIBDIR/cronplement
    5254rm -f $LIBDIR/puxar_indices
    53 rm -f $LIBDIR/cronjob-lexmlcopy
     55rm -f $LIBDIR/cronjob-puxar_indices
    5456rm -f $LIBDIR/liblock.sh
    5557rm -f $LIBDIR/atualiza_indices
     58rm -f $LIBDIR/desconecta_workers
    5659
    5760rmdir $LIBDIR
    5861
    59 rm -f /etc/cron.d/cronjob-lexmlcopy
    60 
    61 if groups $LEXMLCOPYUSER > /dev/null ; then
    62    userdel -r $LEXMLCOPYUSER
    63 fi
     62rm -f /etc/cron.d/cronjob-puxar_indices
    6463
    6564}
     
    6766function gen_keys {
    6867# Gerar chaves
     68echo "Diretório atual:"
     69pwd
     70
     71echo "Gerando par de chaves SSH para este worker..."
    6972cd $ETCDIR
    7073ssh-keygen -qf lexmlcopy -N "" -C "lexmlcopy $HOSTNAME"
     
    7275}
    7376
    74 function config_origem {
    75 
    76 if ! groups $LEXMLCOPYUSER > /dev/null ; then
    77    adduser --disabled-password --GECOS "copia de indices do lexml" \
    78      $LEXMLCOPYUSER
    79 else
    80    echo Usuario $LEXMLCOPYUSER já existe
    81 fi
    82 
    83 }
    8477
    8578function print_usage {
     
    111104        check_root || exit 1
    112105        gen_keys
    113         ln -s $LIBDIR/cronjob-lexmlcopy /etc/cron.d/
     106
     107        echo "Instalando o cron job"
     108        ln -s $LIBDIR/cronjob-puxar_indices /etc/cron.d/
     109        echo "Lembre-se de:"
     110        echo " . Configurar o IP do servidor no /etc/lexmlcopy/puxar_indices.conf"
     111        echo " . Instalar as chaves públicas do servido com script puxar_chaves"
     112        echo "   (/usr/local/lib/lexmlcopy/puxar_chaves)"
    114113    ;;
    115114  origem)
    116115        check_root || exit 1
    117         config_origem
     116        groupadd lexmlcopy
     117        echo "Lembre-se de configurar os usuários e chaves ssh para a conexao dos workers"
    118118    ;;
    119119  desinstalar)
  • lexml/scripts/puxar_chaves

    r4195 r4210  
    1515ssh-keyscan -t dsa ${ORIGEM_HOST} >> /etc/ssh/ssh_known_hosts
    1616
     17echo "Chaves instaladas:"
     18cat /etc/ssh/ssh_known_hosts
  • lexml/scripts/puxar_indices

    r4194 r4210  
    7272  mv $DESTINO $DESTINO_OLD
    7373  mv $DESTINO_NEW $DESTINO
     74
    7475  trace_this_copy $DESTINO/tracecopy.txt
    75   cat $DESTINO/tracecopy.txt
     76  #cat $DESTINO/tracecopy.txt
     77  $COMANDO_POS_COPIA
     78  exit $?
    7679else
    7780  # Se o rsync terminou com erros, faça a limpeza
  • lexml/scripts/puxar_indices.conf

    r4198 r4210  
    1515# Ex: 5000 KBytes/s ~= 50.000 kbits/s
    1616BW_LIMIT="5000"
     17
     18# Comando para ser executado após uma cópia bem-sucedida.
     19COMANDO_POS_COPIA="true"
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.