Backup de bases OpenLdap

Backup de bases OpenLdap.

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh
# /usr/local/sbin/ldapBackup.sh

DATA=`/bin/date +%Y%m%d`
 
# diretório de backup
NOME="/backup/ldap/slapd-$DATA.ldif"
 
# backup
slapcat -f /etc/ldap/slapd.conf -l $NOME
 
# comprimindo o backup
gzip -9 $NOME
Publicado em Scripts | 2 comentários

Instalando Postgresql 9.1 no CentOS 6 e Red Hat Enterprise 6.

Instalando Postgresql 9.1 no CentOS 6 e Red Hat Enterprise 6.

# yum install wget
# cd /tmp
# wget http://yum.pgrpms.org/9.1/redhat/rhel-6-x86_64/pgdg-redhat91-9.1-5.noarch.rpm
# rpm -Uvh pgdg-redhat91-9.1-5.noarch.rpm
# yum install postgresql91-server

* Verificando pacotes instalados:

# rpm -qa | grep postgres

postgresql91-server-9.1.8-2PGDG.rhel6.x86_64
postgresql91-9.1.8-2PGDG.rhel6.x86_64
postgresql91-libs-9.1.8-2PGDG.rhel6.x86_64

# /etc/init.d/postgresql-9.1 initdb

initdb – Cria um novo cluster de banco de dados PostgreSQL.

* Subindo o serviço:

# /etc/init.d/postgresql-9.1 start

* Verificando status do serviço:

# /etc/init.d/postgresql-9.1 status

(pid  2647) está em execução...

* Setar senha no usuário postgres

# sudo -u postgres psql

psql (9.1.8)
Digite "help" para ajuda.
 
postgres=# alter user postgres with encrypted password 'teste';

* Alterar

# vi /var/lib/pgsql/9.1/data/pg_hba.conf

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

para

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

# /etc/init.d/postgresql-9.1 restart

* Testando

# psql -h localhost -U postgres -d postgres

Senha para usuário postgres: 
psql (9.1.8)
Digite "help" para ajuda.
 
postgres=#

Referências: http://wiki.postgresql.org/wiki/YUM_Installation
http://snozberry.org/blog/2012/04/19/install-slash-configure-postgresql-on-centos-6

Publicado em Banco de dados, Postgresql | 4 comentários

Montando repositório Subversion no Debian Squeeze

O Que é o Subversion?

Subversion é um sistema de controle de versão livre/open-source. Isto é, o Subversion gerencia arquivos e diretórios, e as modificações feitas neles ao longo do tempo. Isto permite que você recupere versões antigas de seus dados, ou que examine o histórico de suas alterações. Devido a isso, muitas pessoas tratam um sistema de controle de versão como uma espécie de “máquina do tempo”.

1º – Instalando os pacotes necessários:

# apt-get update && apt-get install subversion subversion-tools libapache2-svn

Assim que os pacotes forem baixados e instalados, o módulo para integração libapache2-svn será iniciado e bastará apenas reiniciar o Apache para entrar em funcionamento.

2º – Criando o diretório onde iremos criar os repositórios subversion e o grupo que podera executar os commits:

# mkdir -p /usr/local/svn 
# groupadd subversion

3º – Criando o repositório e aplicando as permissões necessárias:

# svnadmin create /usr/local/svn/projeto1 
# chown -R www-data:subversion /usr/local/svn 
# chmod -R 770 /usr/local/svn

4º – Configurando o repositório:

OBS: Adiconar no final do arquivo.

# vi /etc/apache2/mods-available/dav_svn.conf

1
2
3
4
5
6
7
8
9
10
11
[Location /svn]
        DAV svn
        SVNParentPath /usr/local/svn/
        SVNListParentPath on
        AuthType Basic
        AuthName "Acessando repositorio Subversion"
        AuthUserFile /etc/apache2/passwd
        #[LimitExcept GET PROPFIND OPTIONS REPORT]
        Require valid-user
        #[/LimitExcept]
[/Location]

OBS: Trocar [ ] por < >.

5º – Crie o arquivo de senhas e os usuários que acessarão o repositório:

# htpasswd -cm /etc/apache2/passwd amarildo; useradd amarildo
# htpasswd -m /etc/apache2/passwd sertorio; useradd sertorio

6º – Adicionar utilizadores

Adiciona-se ao grupo subversion os utilizadores com direitos de acesso aos repositórios:

# addgroup amarildo subversion 
# addgroup sertorio subversion

7º – Importando Projeto

* Importação do projeto LocalHost
svn import /var/www/portal file://localhost/usr/local/svn/projeto1

* Importação projeto Remota
svn import /var/www/portal svn+ssh://server/usr/local/svn/projeto1

8º – Testando

Abra seu browser favorito => http://localhost/svn

Clientes/fachadas em ambiente gráfico de usuário (GUI):

  • RapidSVN fachada multi-plataformas em ambiente gráfico de utilizador escrita em C++ e recorrendo à biblioteca wxWidgets
  • eSvn cliente baseado na biblioteca Qt
  • JSVN cliente Java swing
  • SmartSVN Cliente SubVersion para Linux, Windows e MAC
  • TortoiseSVN Windows shell (i.e. Explorer) extension
  • svnX Mac OS X GUI front-end to svn
  • AnkhSVN Windows é uma extensão (addon) do Visual Studio .NET – Permite que as ações mais comuns sejam executadas diretamente da IDE.

Alternativas:

  • Subversion for NetBeans – Plugin de integração do Subversion no NetBeans
  • subclipse – projecto de integração do Subversion no Eclipse
  • SVNKit (antigo JavaSVN) – biblioteca de cliente Subversion em Java.
  • Subversion for Mac OS X

Referências: http://pt.wikipedia.org/wiki/Subversion
http://svnbook-pt-br.googlecode.com/svn/snapshots/1.4/svn.intro.whatis.html

 

Publicado em Subversion | 2 comentários

Mudando encoding do Postgres 8/9 para LATIN1

Alterando o encoding do Postgres 8.4 e do 9.1, que por padrão é UTF-8, para LATIN1.
Testado em CentOS 6 e Rad Hat Enterprise 6.

1º – Fazer backup das bases.

2º – Fazer backup dos arquivos “.conf”:

# cd /var/lib/pgsql/data
# cp -a pg_hba.conf postgresql.conf ../backups

3º – Parar o banco:

# /etc/init.d/postgresql stop

4º – Remover o conteúdo da pasta data:

# cd /var/lib/pgsql/
# rm -rf data/*

* Obs.: Muito cuidado com este comando!

5º – Recriar o data:

$ su postgres
# env LANG=LATIN1 /usr/bin/initdb --locale=pt_BR.iso88591 --encoding=LATIN1 -D /var/lib/pgsql/data/

6º – Retornar com os “.conf”:

# cd /var/lib/pgsql/backups
# cp -a pg_hba.conf postgresql.conf ../data

7º – Restartar o Postgres:

# /etc/init.d/postgresql restart

8º – Recriar senha do usuário postgres:

# sudo -u postgres psql
postgres=# alter user postgres with encrypted password 'senha';

9º – Testando:

# psql -h localhost -U postgres 
Senha para usuário postgres:
psql (8.4.9)

Digite "help" para ajuda.
postgres=# \l
                                    Lista dos bancos de dados
   Nome      |   Dono   | Codificação |   Collation    |     Ctype      | Privilégios de acesso
-----------+----------+---------------+----------------+----------------+------------------------
 postgres    | postgres | LATIN1        | pt_BR.iso88591 | pt_BR.iso88591 |
 template0 | postgres | LATIN1        | pt_BR.iso88591 | pt_BR.iso88591 | =c/postgres
                                                                        : postgres=CTc/postgres
 template1 | postgres | LATIN1        | pt_BR.iso88591 | pt_BR.iso88591 | =c/postgres
                                                                        : postgres=CTc/postgres
(3 registros)

postgres=#

* Obs.: Em Debian e derivados, são caminhos diferentes.

http://www.vivaolinux.com.br/dica/Mudando-encoding-do-Postgres-84-para-LATIN1

Publicado em Banco de dados, Postgresql | Deixar um comentário

Backup de bases Postgresql

Backup de bases Postgresql.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
# /usr/local/sbin/postgresBackup.sh

DATA=`/bin/date +%Y%m%d`
 
# diretório de backup
NOME="/backup/postgres/banco-$DATA.backup"
 
# variáveis
HOST="localhost"
USER="postgres"
export PGPASSWORD="senhausuariopostgres"
DATABASE="banco"
 
# backup
/usr/bin/pg_dump -h $HOST -U $USER $DATABASE > $NOME
 
# comprimindo o backup
gzip -9 $NOME
Publicado em Scripts | Deixar um comentário

Backup de bases Mysql

Backup de bases Mysql.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
# /usr/local/sbin/mysqlBackup.sh

DATA=`/bin/date +%Y%m%d`
 
# diretório de backup
NOME="/backup/mysql/banco-$DATA.sql"
 
# variáveis
HOST="localhost"
USER="usuario"
PASSWORD="senha"
DATABASE="banco"
 
# backup
mysqldump -h $HOST -u $USER -p$PASSWORD $DATABASE > $NOME
 
# comprimindo o backup
gzip -9 $NOME
Publicado em Scripts | Deixar um comentário

Tuning Postgresql-9.1 com pgtune

O pgtune é software que otimiza o postgresql.conf default, expandindo o servidor de banco de dados para ser tão poderoso quanto o hardware que está sendo implantado.

1. Instalando pgtune.

# aptitude update; aptitude install pgtune

2. Gerando arquivo otimizado.

# cd /tmp; pgtune -i /etc/postgresql/9.1/main/postgresql.conf -o postgresqlotimizado.conf
# cat postgresqlotimizado.conf

No final do arquivo é adicionado parâmetros de otimização.

Exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

#custom_variable_classes = '' # list of custom variable class names
default_statistics_target = 50 # pgtune wizard 2012-10-10
maintenance_work_mem = 22MB # pgtune wizard 2012-10-10
constraint_exclusion = on # pgtune wizard 2012-10-10
checkpoint_completion_target = 0.9 # pgtune wizard 2012-10-10
effective_cache_size = 256MB # pgtune wizard 2012-10-10
work_mem = 2304kB # pgtune wizard 2012-10-10
wal_buffers = 8MB # pgtune wizard 2012-10-10
checkpoint_segments = 16 # pgtune wizard 2012-10-10
shared_buffers = 88MB # pgtune wizard 2012-10-10
max_connections = 80 # pgtune wizard 2012-10-10

3. Edite o arquivo original com os parâmetros de otimização e reinicie o postgres.

# vi /etc/postgresql/9.1/main/postgresql.conf
# /etc/init.d/postgresql restart

Obs.: Caso ocorram erros, redefinir kernel.shmmax com um valor maior que o apresentado no log.

Exemplo:

# sysctl -w kernel.shmmax=4130652160
# echo >> /etc/sysctl.conf kernel.shmmax = 4130652160
# /etc/init.d/postgresql restart

Referências: http://sourcefreedom.com/tuning-postgresql-9-0-with-pgtune/

Publicado em Banco de dados, Postgresql | 2 comentários

Instalação do Postgresql-9.1 no Debian Squeeze

PostgreSQL é um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto.

Características

Hoje, o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código aberto mais avançados, contando com recursos como:

  • Consultas complexas
  • Chaves estrangeiras
  • Integridade transacional
  • Controle de concorrência multi-versão
  • Suporte ao modelo híbrido objeto-relacional
  • Gatilhos
  • Visões
  • Linguagem Procedural em várias linguagens (PL/pgSQL, PL/Python, PL/Java, PL/Perl) para Procedimentos armazenados
  • Indexação por texto
  • Estrutura para guardar dados Georeferenciados PostGIS

Instalação do Postgresql9.1 no Debian Squeeze

1. Primeiramente temos que adicionar o repositorio squeeze-backports no sources.list.

# vi /etc/apt/sources.lits

Adicione ao final:

1
deb http://backports.debian.org/debian-backports squeeze-backports main

2. Atualize o S.O.

# apt-get update && apt-get upgrade

3. Instalando o Postgresql-9.1.

# apt-get -t squeeze-backports install postgresql-9.1

4. Verificando componentes instalados.

# dpkg -l | grep postgres

ii postgresql-9.1 9.1.5-1~bpo60+1 object-relational SQL database, version 9.1 server
ii postgresql-client-9.1 9.1.5-1~bpo60+1 front-end programs for PostgreSQL 9.1
ii postgresql-client-common 134~bpo60+1 manager for multiple PostgreSQL client versions
ii postgresql-common 134~bpo60+1 PostgreSQL database-cluster manager

5. Verificando serviço.

# ps aux | grep postgres

postgres 3498 0.7 1.9 45468 7588 ? S 09:24 0:00 /usr/lib/postgresql/9.1/bin/postgres -D /var/lib/postgresql/9.1/main -c config_file=/etc/postgresql/9.1/main/postgresql.conf
postgres 3500 0.0 0.3 45468 1496 ? Ss 09:24 0:00 postgres: writer process
postgres 3501 0.0 0.3 45468 1292 ? Ss 09:24 0:00 postgres: wal writer process
postgres 3502 0.0 0.5 45876 2244 ? Ss 09:24 0:00 postgres: autovacuum launcher process
postgres 3503 0.0 0.3 15668 1212 ? Ss 09:24 0:00 postgres: stats collector process
root 3555 0.0 0.2 3312 780 pts/0 S+ 09:26 0:00 grep postgres

Referências: http://pt.wikipedia.org/wiki/PostgreSQL

Publicado em Banco de dados, Postgresql | Deixar um comentário