Script para Backup por email – Mikrotik

12 09 2007

Atualizado – 24 de Julho de 2008.

Uma necessidade que tenho ao utilizar o mikrotik é de realizar backup. Minha experiência com computadores me ensinou que alguma coisa muito ruim sempre pode acontecer. Principalmente quando você cuida exclusivamente de algo e você viaja, ou tudo está funcionando bem e quando o seu chefe viaja acontece uma cagada enorme e sem explicação aparente.

Ao começar a trabalhar com mikrotik, criar scripts era terrível, pois não sou programador e a linguagem utilizada não tem nada a ver com a do bash por exemplo. Leia o resto deste post »





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