Conjunto de mudanças 4210 no repositório publico
- Timestamp:
- 12/08/2009 02:19:27 (12 anos atrás)
- Localização:
- lexml/scripts
- Arquivos:
-
- 3 adicionados
- 1 removido
- 7 editados
Legenda:
- Não Modificado
- Adicionado
- Removido
-
lexml/scripts/Makefile
r4149 r4210 7 7 8 8 install_scripts: 9 bash -x./instalar scripts9 bash ./instalar scripts 10 10 11 11 install_origem: 12 bash -x./instalar origem12 bash ./instalar origem 13 13 14 14 install_destino: 15 bash -x./instalar destino15 bash ./instalar destino 16 16 17 17 uninstall: 18 bash -x./instalar desinstalar18 bash ./instalar desinstalar 19 19 -
lexml/scripts/atualiza_indices
r4149 r4210 1 1 #!/bin/bash 2 cat << EOF 3 4 5 ESTE SCRIPT ESTÁ OBSOLETO E PODE SER REMOVIDO A QUALQUER MOMENTO. 6 7 EOF 2 8 3 9 # Descomente para debugar -
lexml/scripts/doc/notas.txt
r4149 r4210 2 2 . Documentação... 3 3 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 8 9 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 13 26 14 27 . Convém configurar o arquivo /etc/hosts.allow do servidor de origem … … 17 30 Exemplo: 18 31 19 sshd: 200. 199.205.112: ALLOW # Servidor hipotético 132 sshd: 200.200.200.200: ALLOW # Servidor hipotético 1 20 33 sshd: 189.123.123.111: ALLOW # Servidor hipotético 2 21 34 sshd: ALL: DENY # Nega o acesso dos restantes 22 35 23 36 == 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 28 40 29 41 == Considerações sobre escalabilidade == -
lexml/scripts/instalar
r4195 r4210 1 1 #!/bin/bash 2 2 3 set -x 3 # Descomente para debugar 4 #set -x 4 5 5 6 LIBDIR=/usr/local/lib/lexmlcopy 6 7 ETCDIR=/etc/lexmlcopy 7 LEXMLCOPYUSER=lexmlcopy8 8 9 9 … … 37 37 install -m 0500 puxar_indices $LIBDIR/puxar_indices 38 38 install -m 0500 puxar_chaves $LIBDIR/puxar_chaves 39 install -m 0644 cronjob- lexmlcopy $LIBDIR/cronjob-lexmlcopy39 install -m 0644 cronjob-puxar_indices $LIBDIR/cronjob-puxar_indices 40 40 install -m 0755 liblock.sh $LIBDIR/liblock.sh 41 41 install -m 0755 atualiza_indices $LIBDIR/atualiza_indices 42 install -m 0755 desconecta_workers $LIBDIR/desconecta_workers 42 43 43 44 install -m 0600 atualiza_indices.conf $ETCDIR 45 install -m 0600 desconecta_workers.conf $ETCDIR 44 46 install -m 0600 puxar_indices.conf $ETCDIR 45 47 install -m 0600 puxar_indices.exclude $ETCDIR … … 51 53 rm -f $LIBDIR/cronplement 52 54 rm -f $LIBDIR/puxar_indices 53 rm -f $LIBDIR/cronjob- lexmlcopy55 rm -f $LIBDIR/cronjob-puxar_indices 54 56 rm -f $LIBDIR/liblock.sh 55 57 rm -f $LIBDIR/atualiza_indices 58 rm -f $LIBDIR/desconecta_workers 56 59 57 60 rmdir $LIBDIR 58 61 59 rm -f /etc/cron.d/cronjob-lexmlcopy 60 61 if groups $LEXMLCOPYUSER > /dev/null ; then 62 userdel -r $LEXMLCOPYUSER 63 fi 62 rm -f /etc/cron.d/cronjob-puxar_indices 64 63 65 64 } … … 67 66 function gen_keys { 68 67 # Gerar chaves 68 echo "Diretório atual:" 69 pwd 70 71 echo "Gerando par de chaves SSH para este worker..." 69 72 cd $ETCDIR 70 73 ssh-keygen -qf lexmlcopy -N "" -C "lexmlcopy $HOSTNAME" … … 72 75 } 73 76 74 function config_origem {75 76 if ! groups $LEXMLCOPYUSER > /dev/null ; then77 adduser --disabled-password --GECOS "copia de indices do lexml" \78 $LEXMLCOPYUSER79 else80 echo Usuario $LEXMLCOPYUSER já existe81 fi82 83 }84 77 85 78 function print_usage { … … 111 104 check_root || exit 1 112 105 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)" 114 113 ;; 115 114 origem) 116 115 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" 118 118 ;; 119 119 desinstalar) -
lexml/scripts/puxar_chaves
r4195 r4210 15 15 ssh-keyscan -t dsa ${ORIGEM_HOST} >> /etc/ssh/ssh_known_hosts 16 16 17 echo "Chaves instaladas:" 18 cat /etc/ssh/ssh_known_hosts -
lexml/scripts/puxar_indices
r4194 r4210 72 72 mv $DESTINO $DESTINO_OLD 73 73 mv $DESTINO_NEW $DESTINO 74 74 75 trace_this_copy $DESTINO/tracecopy.txt 75 cat $DESTINO/tracecopy.txt 76 #cat $DESTINO/tracecopy.txt 77 $COMANDO_POS_COPIA 78 exit $? 76 79 else 77 80 # Se o rsync terminou com erros, faça a limpeza -
lexml/scripts/puxar_indices.conf
r4198 r4210 15 15 # Ex: 5000 KBytes/s ~= 50.000 kbits/s 16 16 BW_LIMIT="5000" 17 18 # Comando para ser executado após uma cópia bem-sucedida. 19 COMANDO_POS_COPIA="true"
Note: Veja
TracChangeset
para ajuda no uso do visualizador de conjunto de mudanças.