Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Script de criação de Repositórios no Subversion - mysvnadmin

Colaboração: Kaio Rafael

Data de Publicação: 06 de Janeiro de 2007

O script abaixo automatiza o processo de criação de um reposotório do Subversion, antes da execução do mesmo, mude as variáveis do script para seu funcionamento.

  #!/bin/bash
  #
  # Copyright 2006 Kaio Rafael de Souza Barbosa
  #
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
  # the Free Software Foundation; either version 2 of the License, or
  # (at your option) any later version.
  #
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU General Public License for more details.
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  #
  # ---------------------------------------------------------
  # Este script cria repositorio, muda a permissao para o apache
  # poder ler e escrever os commits realizados pelos usuarios
  #
  # Para mais detalhes do subversion acesse:
  # http://svnbook.red-bean.com/nightly/pt_BR/svn-book.html#svn.serverconfig.httpd
  # http://svnbook.red-bean.com/nightly/pt_BR/svn-book.html#svn.reposadmin
  
  
  # Variables
  
  svn_root_home=/home/kaio/web-svn # diretorio que armazena todos os repositorios do subversion
  svn_adm_cmd=/usr/bin/svnadmin # comando do svnadmin
  apache_user=www-data # usuario que executa o apache
  apache_group=www-data # grupo do usuario que execua o apache
  svn_pass=/etc/apache2/senha # senha dos usuarios do subversion
  svn_access_file=/etc/apache2/projetos # diretorio com as permissoes do subversion
  svn_tmp=/tmp/repos # arquivo temporario
  svn_web_page=/svn # endereco web que ficara o repositorio http://server/svn/nome_repositorio
  nome_empresa="Free Software Foundation" # Nome da sua empresa
  
  # Functions
  
  create_svn(){
   echo -n "Entre com o nome do repositorio a ser criado: "
          read svn_repos
  
             # verifica se o repositorio ja existe
  
            if [ -d ${svn_root_home}/${svn_repos} ];then
                   echo "Repositorio ${svn_repos} ja existe"
                  exit 1
  
                 else
  
                if `${svn_adm_cmd} create ${svn_root_home}/${svn_repos}` ; then
                       echo "Repositorio ${svn_repos}, criado com sucesso!!"
                              else
                             echo "Erro na criacao do repositorio  ${svn_repos}"
                            exit 1
                   fi
          fi
  # Mudando as permissoes de dav lock e db
  
  echo "Mudando as permissoes de dav, lock e db"
  
  chmod g+w  ${svn_root_home}/${svn_repos}/dav  ${svn_root_home}/${svn_repos}/locks  ${svn_root_home}/${svn_repos}/db
  chmod g+s  ${svn_root_home}/${svn_repos}/dav  ${svn_root_home}/${svn_repos}/locks  ${svn_root_home}/${svn_repos}/db
  
  chown -R ${apache_user}:${apache_group} ${svn_root_home}/${svn_repos}/dav
  chown -R ${apache_user}:${apache_group} ${svn_root_home}/${svn_repos}/locks
  chown -R ${apache_user}:${apache_group} ${svn_root_home}/${svn_repos}/db
  
  touch ${svn_access_file}/${svn_repos}
  
  sleep 1
  
  # Imprimindo a saida para o Apache
  cat << EOF > $svn_tmp
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  #   Projeto ${svn_repos}
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  <Location ${svn_web_page}/${svn_repos}>
    DAV svn
      SVNPath ${svn_root_home}/${svn_repos}
        AuthType Basic
  AuthName "${svn_repos} em ${nome_empresa} "
    AuthUserFile ${svn_pass}
      AuthzSVNAccessFile ${svn_access_file}/${svn_repos}
        Require valid-user
  Allow from all
  </Location>
  EOF
  
  echo "Adicione as linhas abaixo no arquivo do apache"
  echo " "
  cat  $svn_tmp
  
  
  }
  
  usage(){
         echo "$(basename $0) opcoes"
        echo "Opcoes"
       echo "--create  : Cria um repositorio"
              echo "--help    : Imprime esta ajuda"
      }
  
      # Main Program
  
      if [ $(id -u) -eq 0 ];then
             if [ $# -eq 0 ]; then
                    usage
                   else
                  case $1 in
                 --create) create_svn;;
                --help) usage;;
               *) echo "Parametro $1, desconhecido";;
                      esac
             fi
            else
           echo "Voce nao e' o root"
          exit 1
  fi

Veja a relação completa dos artigos de Kaio Rafael

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.97/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1235 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

As Palavras Mais Comuns da Língua Inglesa (2ª edição)