Backup esperto com rdiff-backup
Backup é um assunto muito apontado em qualquer meio em que os dados são muito importantes e não podem ser perdidos. Existem diversas maneiras de realizar esse processo e muitas formas de planejar o backup.
Um dos problemas encontrados na hora de planejar o backup e a grande quantidade de espaço utilizado pelos dados guardados, sejam em arquivos compactados ou de outra maneira. Para resolver isso pessoas desenvolvem scripts cada vez mais avançados e complicados.
Pensando em isso que foi criado o rdiff-backup [1], um aplicativo que realiza backup em rede sobre SSH com os mesmos incrementais.
Ou seja, além de realizar uma transferência de dados, ele realiza backup de modo a economizar recursos, já que será sempre guardado apenas o diff [2] da ultima versão feita backup.
Como funciona?
O funcionamento é bem simples, quando executado pela sua primeira vez, todo o conteúdo que será feito backup é copiado para onde será guardado o backup e será criada o diretório rdiff-backup-data. Das próximas vezes basta executar o mesmo comando realizado, pois como o conteúdo já foi copiado agora será guardada apenas o diff do versão antiga com a versão nova, e ficara guardada nesse diretório todos os diffs realizados.
E na hora de recuperar?
Na hora de recuperar, basta utilizar a própria aplicação com os parâmetros de recuperação apontando qual versão é desejado que ele já aplica o diff no pacote e retorna todo o conteúdo na versão pedida.
Como usar?
Primeiramente temos que instalar o aplicativo no sistema
# aptitude install rdiff-backup
Se for feito backup de uma maquina remota essa maquina também precisa ter o rdiff-backup instalado.
Feito isso agora basta utilizar-lo, a sintaxe do comando é
rdiff-backup [opções] [[user@server]::diretório_que_será_feito_backup] [[user@server]::diretório_onde_o_backup_será_posto]
Algumas opções são
- –include [diretório ou arquivo]
- Inclui um diretório ou arquivo no backup.
- –exclude [diretório ou arquivo]
- Não faz backup do diretório ou arquivo especificado.
- -r [data da versão]
- Faz a recuperação do backup da versão do tempo especificado, por exemplo se for da ultima versão pode-se usar now, ouse for de 3 dias atrás pode-se usar 3D.
- … consultar o manual [2]
Exemplos:
Digamos que queremos fazer um backup local do diretório /var/www para o diretório /mnt/backup, basta fazermos:
$ rdiif-backup /var/www /mnt/backup
Para recupera basta utilizar o parametro -r, vamos recuperar do diretório /var/www/wwwrestored
$ rdiff-backup -r now /mnt/backup /var/www/wwwrestored
Caso a maquina onde será feito o backup ou a que receberá o backup for remota basta utilizar a sintaxe de ususario@servidor:: antes do arquivo, por exemplo:
$ rdiff-backup fulano@servidor.com::/var/www /mnt/backup
Automatizando o backup
Para automatizar o backup usando rdiff-backup, basta criar um script que vai ser bem simples, por exemplo:
#!/bin/bash rdiff-backup /var/www /mnt/backup
e incluir esse script no crontab.
Dessa maneira, pode-se concluir que o RDIFF-BAKCUP, auxilia muito o desenvolvimento de rotinas de backup. Utilizando esse aplicativo o backup é mais simples e mais fácil de gerenciar os backup.
____
Instalando o Redmine no Locaweb
Tendo que instalar o Redmine [1] em uma hospedagem Locaweb, me deparei que falta documentação por parte da empresa vendo que existem muitas pessoas atrás do mesmo.
Bem eu consegui instalar com sucesso mas com um grande problema, depois de configurar o arquivo para comunicação com SMTP e depois de testar o envio de email pela aplicação, que dá certo, ele não funciona na hora de enviar notificações. Se alguém souber alguma solução, mas bem por enquanto vamos pela parte de instalação.
Obs.: Mostrarei como é feito a instalação do Redmine para as hospedagens Linux, e tudo será feito por linha de comando.
Pelo terminal, acesse o seu servidor com SSH passando os mesmos parâmetros do ftp:
$ ssh usuario@dominio.com
Depois, confirme o acesso e digite a senha, pronto você está conectado na sua hospedagem.
Entre no diretório rails_app:
$ cd rails_app
Caso não exista, crie-o primeiro:
$ mkdir rails_app
Dentro desse diretório, baixe via subversion[2] a aplicação digitando no terminal:
$ svn co svn://rubyforge.org/var/svn/redmine/branches/0.9-stable redmine
será criado um diretório redmine onde estará o conteúdo da aplicação.
Para que o redmine tenha visibilidade na internet é preciso criar um link simbólico da pasta ~/rails_app/redmine/public dentro do diretório ~/public_html/ , pra isso basta fazer:
$ ln -s ~/rails_app/redmine/public ~/public_html/redmine
Tendo feito isso, o único que falta para terminar e configurar a aplicação.
Começamos entrando na pasta do redmine,
$ cd ~/rails_app/redmine
então entramos no diretório config para editarmos o arquivo database.yml podendo assim configurar o banco, para isso usamos o exemplo já existente,
$ cp config/database.yml.exmaple config/database.yml
$ vi config/database.yml
Comente as linhas de modo a ficar dessa maneira:
# MySQL (default setup). Versions 4.1 and 5.0 are recommended. # # Get the fast C bindings: # gem install mysql # (on OS X: gem install mysql -- --include=/usr/local/lib) # And be sure to use new-style password hashing: # http://dev.mysql.com/doc/refman/5.0/en/old-client.html production: adapter: TIPO_DO_BANCO #mysql ou postgresql database: NOME_DO_BANCO host: HOST_DO_BANCO username: NOME_DO_USUARIO_DO_BANCO password: SENHA_DO_BANCO encoding: utf8
As informções referentes ao banco podem ser encontrados no seu painel do Locaweb [3], depois de editar o arquivo basta salvar.
Bem, agora basta preparar o ambiente, primeiro atualize a versão da gem rails para a versão usada no redmine:
$ gem install -v=2.3.5 rails
congele então a versão da gem
$ rake rails:freeze:gems
pronto agora só configurar o banco de dados fazendo:
$ rake generate_session_store
$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production rake redmine:load_default_data
pronto, agora o banco já está carregado e configurado, caso algum passo tenha dado errado verifique o arquivo database.yml.
O próximo passo é configurar o serviço de email, para isso precisamos editar o arquivo responsavel, email.yml:
$ vi config/email.yml
ele tem que ficar mais ou menos assim
# ... production: delivery_method: :smtp smtp_settings: address: ENDERECO_DO_SMTP port: 25 domain: DOMINIO_DO_EMAIL authentication: :login user_name: "NOME_DO_USUARIO" password: "SENHA_DO_EMAIL" # ...
tendo terminado, tudo o que era pra ser configurado foi feito, agora só é preciso reiniciar o servidor rails, para que tudo que foi modificado tenha efeito, basta fazer
$ touch ~/rails_app/redmine/tmp/restart.txt
agora sim, tudo está terminado. Acesse sua aplicação e seja feliz, OU NÂO.
Dentro da aplicação parece estar tudo correto, quando acessamos a parte de administração e vamos em envio de email, tambem parece estar tudo certo, se enviarmos um email de teste ele será enviado com sucesso, MAS durante a aplicação quando o serviço de notificação por email esta ativado, quando é realizado alguma coisa que precisa ser notificada por email, o servidor acusa erro. Mas porque isso??
Bem, pesquisei muito e não consegui identificar o problema. O erro é basicamente o seguinte, um email de notificação de alguma atividade é enviado mas não é retornado para um programa a confirmação do envio de email, fazendo assim com que o aplicativo acuse falha no envio de email.
Como resolver isso? Não sei, ainda estou pesquisando.
Boa sorte a todos!
___
Agilizando comandos Linux com aliases
Existem comandos no Linux que as vezes com a grande sequencia de parâmetros utilizados ficam simplesmente difíceis de lembrar, imagine então se você utiliza muito esse comando ter que ficar digitando ele sempre.
Para contornar esse pequeno problema existem no Linux os aliases, ou seja “apelidos” de comandos. Um alias é nada mais que um um outro nome que é utilizado para chamar uma coisa.
Por exemplo, digamos que temos o comando:
ssh fulano@123.456.789.012
esse comando se for muito utilizado vai ser digitado inumeras vezes, bem podemos simplificar-lo criando um alias para ele com o nome de sshfulano, ou seja sempre que você digitar sshfulano na verdade você vai estar querendo dizer ssh fulano@123.456.789.012.
Para criar um alias podemos fazer isso de várias maneiras, pode ser feito na sessão aberta usando o comando alias direto no terminal, por exemplo:
$ alias sshfulano=’ssh fulano@123.456.789.012′
nesse caso o alias será destruído no final da sessão.
Ou podemos também carregar uma sequencia de aliases pré definidos em um script de inicio de sessão, como o ~/.bashrc, que se for aberto terá alguns aliases de exemplo. Porém existe uma maneira de fazer isso de forma organizada, ou seja deixando todos os aliases em um arquivo só.
Bem, precisamos então primeiro com que esse arquivo seja lido sempre no inicio de toda sessão, para isso basta descomentar, caso estejam comentadas, ou acrescentar as seguintes linhas no arquivo ~/.bashrc:
$ vi ~/.bashrc
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
...
Feito isso verifique se o arquivo ~/.bash_aliases existe, caso não exista crie-o.
Pronto, agora basta colocar dentro desse arquivo os aliases que desejar, por exemplo:
$ vi ~/.bash_aliases
alias ll='ls -l' alias la='ls -A' ...
Sempre que adicionar aliases precisar carregar o arquivo para dar certo, para isso temos apenas que carregar o script que lê esse arquivo, no caso o ~/.bashrc:
$ source ~/.bashrc
Tirando os ícones do desktop Debian
O Debian tem como padrão deixar visível no desktop os ícones do Computador, Pasta Pessoal, Servidor de Redes e Lixeira mas as vezes por questão de beleza (na verdade frescura) queremos ter um desktop limpo.
Podemos fazer isso alterando diretamente nas configurações do Gnome, para isso temos que acessar o editor de configurações, pode ser acessado pelo terminal digitando:
$ gconf-editor
Dentro da aplicação navegamos pelo itens do lado esquerdo da seguinte maneira:
apps -> nautilus -> desktop
Quando entrarmos nessa parte teremos vários itens no lado direito, esses itens são referentes ao o que o nautilus (gerenciador de arquivos) exibirá no desktop. Desmarque então todas as opções menos (a não ser que queira) a opção volumes_visbile, opção essa que mostrará sempre no desktop outros dispositivos montados como Pendrive, Mp3, Cd, …
Feito isso sua tela já estará limpa, não precisa salvar em nenhum lugar basta desmarcar as opções. Se quiser retornar basta fazer o inverso.
Habilitando PHP no User Dir do Apache
O Debian em suas novas versões que sucederão o Lenny (Squeeze, Sid, .. ) tem uma modificação de configuração padrão no modulo do PHP do Apache.
Quando instalamos o Apache, o PHP e o modulo de comunicação do PHP com o Apache e habilitamos o modulo User Dir do apache (modulo que possibilita a leitura do Apache nos diretórios public_home de cada usuário no /home) percebe-se que quando se tenta acessar um arquivo .php dentro do user dir o mesmo não é lido.
Essa nova configuração do Apache é feito por motivos de segurança.
Isso acontece pois no modulo de comunicação do PHP no Apache existe uma constante que desabilita o PHP em esses diretórios. Para habilitar, basta editar no arquivo de configuração do modulo as diretivas que desabilitam o engine do PHP em todos os diretórios public_html.
Para isso fazemos:
vi /etc/apache2/mods-enabled/php5.conf
comente a linha com diretiva php_admin_value engine Off, ficando assim:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
#php_admin_value engine Off
</Directory>
</IfModule>
pronto, depois disso basta reiniciar o Apache:
# /etc/init.d/apache2 restart
Dessa maneira o PHP estará habilitado nos User Dir.
SSH sem senha usando chave pública/privada
Muitas vezes é preciso ter uma conexão por ssh sem senha, seja para desenvolver uma rotina de backup em outras maquinas ou simplesmente para facilitar a sua vida.
A conexão em outras maquinas por ssh pode ser feita sem precisar ficar colocando a senha sempre atraves de algum programa que gerencia as senhas como o Kerberos ou através de uma chave pública/privada que utilizaremos.
Considerando que já está instalado o ssh, devemos criar uma chave de autenticação RSA:
$ ssh-keygen -t rsa
será solicitado várias perguntas para gerar a senha, elas podem ficar em branco.
Tendo finalizado, será gerado dois arquivos ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub, o arquivo com a chave pública é o .pub, esse arquivo precisa ser enviado para a maquina remota, para isso pode ser feito pelo comando:
$ scp ~/.ssh/id_rsa.pub user@ip:~
Após de enviar o arquivo para a maquina remota, conecte nela (pela ultima vez usando senha)
$ ssh user@ip
depois de conectado, copie a chave pública mandada para o maquina remota para dentro do arquivo de chaves autorizadas:
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
Depois disso, basta remover o arquivo enviado já que não será utilizado mais:
$ rm ~/id_rsa.pub
Pronto, tendo terminado todos os passo o acesso a outra maquina remota será feito sem a necessidade de colocar a senha novamente.
LG conhece a Ginga do Brasil!
A LG mostra que é possivel interagir com a TV digital e lança o primeiro aparelho celular com o Ginga, o middleware de interatividade da TV digital. A promessa é que um aplicativo da TV Globo com informações sobre a Copa do Mundo vai mover toda esse inicio de “interatividade”.
O LG TV Phone GM600 é lançado um ano e dois meses depois do início de estudos para incorporar o Ginga, o middleware de interatividade do SBTVD, padrão de TV digital brasileiro, ao celular. Pra quem deseja obter mais informações sobre o Ginga.
Nas configurações, o GM600 traz uma tela de 3 polegadas sensível ao toque, câmera de 3,2 megapixels, interface 3D (como a do Arena/New Chocolate), Bluetooth, suporte a vídeos em formato DivX e som Dolby Mobile, além de permitir gravar até 10 horas de programação.
De acordo com a empresa, o preço sugerido do aparelho é de R$ 699.
Google desiste do Windows!
O Google não mais usara o sistema operacional da Microsoft. A decisão foi tomada por uma questão de segurança. Houve um incidente com hackers, como dito pelo Financial Times nesta terça-feira. Foram cogitados o Mac OS da Apple ou o Linux, para substituir as estaçoes de trabalho que utilizam Windows.
Segundo o jornal, um funcionário do Google disse que “não estamos mais usando o Windows. É um esforço de segurança”.O Google afirmou em comunicado: “Estamos sempre trabalhando para melhorar a eficácia em nossos negócios, mas não comentamos nossas questões operacionais específicas”.
Lembrem-se que o Windows da Microsoft é o sistema operacional mais utilizado na maioria dos computadores pessoais no mundo. No entanto outros sistemas operacionais estao crescendo em numero de usuarios, nada que assuste “muito” os executivos da microsoft.
Fonte: UOL Tecnologia
Agarre seu IP!
Endereços de internet estão se esgotando diz Rod Beckstrom ,o presidente da Icann.
A explosão no número de aparelhos conectados com a web ( não somente computadores mas também carros geladeiras, cameras fotográficas, torradeiras, liquidificadorers, etc ) esgotará o número de endereços de internet disponíveis a não ser que as organizações adotem uma nova versão do Internet Protocol.
O ipv4 usado atualmente e desde que a internet se tornou pública, nos anos 80, foi criado com a capacidade de gerir apenas alguns bilhões de endereços, enquanto a capacidade do ipv6 ( a nova tecnologia) é da ordem dos trilhões. Rod Beckstrom disse que apenas 8% a 9% dos endereços ipv4 ainda estão disponíveis, e que as companhias precisam adotar o novo padrão ipv6 o mais rápido possível. Cabe aos provedores de Internet, que até hoje não adotaram uma política de substituição do IPv4 para o IPv6, adotarem esse protocolo que já existe há mais de dez anos pois há vários anos já se sabe do iminente esgotamento de endereços disponíveis para o IPv4.
Do ponto de vista técnico, a substituição não é algo drástico, pois envolve apenas mudanças no software dos roteadores. O maior dificuldade será a adaptação por parte dos usuários, pois a maioria não têm o conhecimento técnico de como atualizar seus roteadores domésticos, mesmo sabendo que os sistemas operacionais recentes já têm suporte nativo ao IPv6.
A grande questão é: Será que os fabricantes vão se dar o trabalho de fornecerem atualizações de firmware para seus roteadores? Acho pouco provavel uma vez que o custo é alto e o retorno é zero.
JDownloader instalado via repositório no Ubuntu
Compatível com todos os sistemas operacionais (com suporte para Java) este programa é a opção ideal para quem trocou recentemente de computador, mas ainda não se acostumou com os programas do novo SO ou mesmo para quem procura por um ótimo
gerenciador de downloads. As melhorias no software foram constantes e muitos problemas de compatibilidade com sites de hospedagem foram exterminados. Isso torna o jDownloader bastante estável e muito simple de manusear. Devo ainda acrescentar que ele pode tornar a vida de quem utiliza RapidShare, Mega Upload, EasyShare muito, mas muito mais fácil mesmo .
Dessa forma vamos ao que importa. Quem já instalou o programa baixando o codigo fonte do site oficial deve ter a opiniao de que essa nao foi uma tarefa muito agradável. Para instalar o software de maneira mais simples siga os passos abaixo (executar esses comandos em um terminal):
- sudo add-apt-repository ppa:jd-team/jdownloader
- sudo aptitude update
- sudo aptitude install jdownloader




