Comando útil para backup no Linux

8 10 2008

Eu tenho um péssimo problema de memória. Portanto mais que compartilhar informações com vocês este blog serve como a minha “mémória”. Eu carrego também uma memória comigo, chamada “agenda”. Se não estiver com nenhuma das duas eu fico completamente perdido, rsrs.

Algo que sempre me incomoda é realizar backups no linux em um segundo HD. Quando você quer realizar um backup em outro computador é super fácil, basta usar o Amanda ou o Rsync. Mas e para manter cópias incrementais dos arquivos, como fazemos?

Hoje descobri uma ótima maneira de fazê-lo utilizando o Rsync. Foi postada pelo Sérgio Pereira, no Google Groups.

O comando fica assim:

rsync -Cravzp /pasta-de-origem/ /pasta-de-destino/

Com isso, você terá sempre uma cópia incremental da pasta em outro lugar.

Quer saber mais sobre Rsync? Acesse aqui.





Lidando com pacotes rpm

11 08 2006

Algo que todo administrado linux/unix tem que fazer é lidar com pacotes. Dependendo de qual distribuição pode ser: deb, rpm, tgz…
Isto leva a duas questões:

  1. como lidar com o pacote.?
  2. como trabalhar com a ferramenta de instalação?

Aqui abordarei um pouco sobre os pacotes rpm. São usados nas distros que tem a raiz no Linux RedHat. Em primeiro lugar, vamos falar para lidar com os pacotes diretamente, via ferramentas rpm.
Quando você tem um pacote src.rpm, é necessário (re)compilar o pacote. O comando ficaria assim:

rpmbuild --rebuild --with fdr50 pacote_rpm-versao.src.rpm

Veja um exemplo, se quisermos instalar o qmail-toaster (instalação facilitada do qmail criado pelo pessoal que mantem os pacotes toaster) no fedora core 5:

rpmbuild --rebuild --with fdr50 daemontools-toaster-0.76-1.3.1.src.rpm

Este comando criaria um pacote daemontools-toaster-0.76-1.3.1.i386.rpm, no seguinte folder: /usr/src/redhat/RPMS/i386.
Outra questão que temos, é como instalar, desistalar e consultar pacotes rpm. aqui vai uma colinha dos comandos:

rpm -ivh pacote.rpm Instala pacote rpm
rpm -Uvh pacote.rpm Atualiza pacote rpm (não sobrescreve, ou deixa um bkp dos arquivos conf)
rpm -e pacote.rpm Desinstala pacote rpm
rpm -qa pacote.rpm Lista pacotes instalados
rpm -qi pacote.rpm Informações sobre o pacote
rpm -ql pacote.rpm Lista os arquivos do pacote
especiais  
rpm -ivh –replacefiles pacote.rpm Re-instala pacote rpm, sobrescrevendo os arquivos
rpm -Uvh –oldpackages pacote.rpm Atualiza por um pacote mais antigo
rpm -Vf /caminho/arquivo Verifica a qual pacote pertence o arquivo
rpm -ivh –test pacote.rpm Testa a instalação, para ver se não tem problema de dependência

Outra forma que temos para lidar com instalação de programas nos forks do RedHat é lidando com o yum (instalado por padrão). A grande vantagem, que você não precisa ficar pensando em questões de dependência de pacotes. A sintaxe dele é:

yum install programa

As opções mais usadas para o yum são: install, search, remove, list, check-update, update, provide, resolvedep.

Fonte de consulta:
Trabalhando com RPM – por Eduardo Vieira Mendes
Pacotes RPM (Infowester) – Emerson Alecrim





Renomeando arquivos no console

28 07 2006

Estou atualizando a galeria de fotos do site e me deparei com um problema. Várias fotos do Windows acabando vindo com espaços e caracteres inválidos. Também queria uma forma de deixar todos os caracteres minúsculos.
Acabei encontando as seguintes dicas:

for foo in *; do mv $foo `echo $foo | tr /[A-Z]/ /[a-z]/` ; done

fonte: www.vivaolinux.com.br

Eu acabei adaptando para poder criar um script que faz tudo de uma vez só no diretório em que é rodado.


#!/bin/bash
for foo in *; do mv $foo `echo $foo | tr /[A-Z]/ /[a-z]/` ; done
for foo in *; do mv $foo `echo $foo | tr " " "_"` ; done





Múltiplos usos do Comando Find

28 07 2006

Quem nunca precisou editar algo em particular, em vários arquivos de uma só vez. O Nagios por exemplo, se for mudado o nome de um host no arquivos hosts.cfg, este nome deve ser mudado também no hostroups.cfg e no services.cfg. Ou então qer trocar uma váriavel em vários arquivos de um mesmo programa.

Para isto temos o comando find. A melhor utilização para mim descobri já fazem uns dois anos do site Dicas-L, do pessoal envolvido com a Unicamp.

O comando para isto é:


find ./ -maxdepth 1 -name ‘*.php’ | xargs perl -i.bkp -p -e ’s/isso/aquilo/ig;’

O isso você troca pela variável que você quer trocar, e o aquilo pelo valor a ser escrito. A opção -maxdepth 1 faz com que a substituição aconteca somente no diretório onde o comando foi executado. Se quiser que ele rode recursivamente, basta tirar esta parte do comando. Após o comando perl, a opção -i.bkp cria um backup de todo arquivo modificado.

Se você quiser mais explicações sobre este uso do find consulte no site do Dicas-L (find).

Outro uso excelente que podemos fazer é para achar aquivos “sem dono“.


find / -nouser -print

E se você quiser apagar estes arquivos pode usar o comando assim:


find / -nouser -print | xargs rm





Mais uma do comando Find

28 07 2006

Que procurar um texto entre vários arquivos de um diretório? use este comando:


find . -type f -exec grep “antes” {} \; -print

Fonte: Dicas-L