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.