REALE.COM.BR

by Alessandro Reale dos Reis

Informações relacionadas a Segurança da Informação, Perícia Forense, Linux e relacionadas a TI. Você encontra aqui!!!! Sejam Bem vindos......

Uma importante tarefa que um administrador de sistemas deve realizar em sistemas linux, é a cópia(backup) de arquivos importantes para a empresa, mas tambem outra tarefa que se deve dar importância é a exclusão de backups antigos.

Vou explicar aqui uma maneira rápida e fácil de garantir que backps antigos sejam excluidos automaticamente.

O comando seguinte efetua as exclusões automaticamente:

# find /home/backup/arquivobkp* -ctime +15 -delete

O comando find procuar dentro do diretório /home/backup/ todos arquivos arquivobkp* que foram criados a mais de 15 dias (-ctime+15) e irá apagar todo resultado positivo da busca com o parametro “-delete”.

Aproveitando a explicação, o que alguns não sabem é que no GNU/linux há três tipos de marca de tempo em arquivos que podemos utilizar em certastarefas. São eles:

mtime: a hora da modificação (ls -l)
ctime: a hora da mudança do estado ( ls -lc)
atime: a hora do último acesso (ls -lu)

Voltando a nossa dica de exclusão automatica, podemos automatizar ainda mais o processo, agendando o comando na crontab do seu servidor. Vamos programar o linux para o sistema rodar o comando, de segunda a sexta, as 10:00 hs.

Para configurar um crontab por usuário, utiliza-se o comando “crontab”, junto com um parâmetro, dependendo do que você quiser fazer. Abaixo uma relação:

Comando Função
crontab -e Edita o crontab atual do usuário
crontab -l Exibe o atual conteúdo do crontab do usuário
crontab -r Remove o crontab do usuário

Mas antes vou explicar o uso da crontab.

Vamos a um exemplo fácil:

0 6 * * * ls -l

Então como se pode ver, a linha é dividida em 6 campos separados por tabs ou espaço:

Campo Função
1o. Minuto
2o. Hora
3o. Dia do mês
4o. Mês
5o. Dia da semana
6o. Programa pra execução

Todos estes campos, sem contar com o 6o., são especificados por números.
Veja a tabela abaixo para os valores destes campos:

Campo Função
Minuto: 0-59
Hora: 0-23
Dia do mês: 1-31
Mês: 1-12
Dia da semana: 0-6 (o “0″ é domingo, “1″ segunda, etc)

Traduzindo o comando acima: “Execute o comando ‘ls -l’ todo dia de todo mês sendo o dia qualquer dia da semana, às 6 horas e 0 minutos.”

Voltando ao nosso dica, vamos adicionar o comando dentro da crontab. Digite no terminal o seguinte comando:

# crontab -e // edita a crontab do usuário atual

Dentro da crontab digite a linha seguinte:

00 10 * * 1-5 find /home/backup/arquivobkp* -ctime +15 -delete

Para reiniciar o serviço da crontab, utilize as opções abaixo:

# service crond restart
ou
# /etc/init.d/crond restart

Até a próxima pessoal!

Deixe uma resposta.