Script para eliminar ficheiros
|
20-08-2010, 12:41
Mensagem: #1
|
|||
|
|||
Script para eliminar ficheiros
Olá a todos.
Tenho um pequeno script agendado no serviço CRON para efectuar backup de um determinado directório do meu servidor. Este script também envia o log do backup para um determinado directório. Eu necessitava de um outro script que remove-se automaticamente os ficheiros logs com data de criação superior a 15 dias para evitar de o ter de fazer manualmente? Alguém pode ajudar-me a criar um script para efectuar automaticamente esta acção? |
|||
21-08-2010, 03:51
Mensagem: #2
|
|||
|
|||
RE: Script para eliminar ficheiros
(20-08-2010 12:41)Apaxe Escreveu: Eu necessitava de um outro script que remove-se automaticamente os ficheiros logs com data de criação superior a 15 dias para evitar de o ter de fazer manualmente? Lista ficheiros (normais e directorias) que tenham sido modificados (mtime) 'a 15 dias. -mtime igual a 0 significa 0h0m e 23h59m, 1 24:00 e 47:59, etc... Para testar: Código: find . -mtime +14 -exec ls -l {} \; Quando estiver a funcionar correctamente no teu sistema, altera ls -l por rm, para apagar os ficheiros. {} corresponde ao ficheiro e \; e' o separador para o find. -ctime - criado -atime - acedido Código: find . -mtime +14 -exec rm {} \; Se queres apenas ficheiros normais, usa -type f Fiquem Bem! |
|||
21-08-2010, 12:11
(Esta mensagem foi modificada pela última vez a: 21-08-2010 22:00 por Apaxe.)
Mensagem: #3
|
|||
|
|||
RE: Script para eliminar ficheiros
Elias_REC, obrigado pela atenção.
Criei então um script com o seguinte codigo: #!/bin/bash find /home/administrador/Logs/ -mtime +15 -exec rm {} \; Ele remove os ficheiros como eu pretendo. Fiz tambem a experiencia para ver se ele remove pastas o que não aconteceu. Pergunto o que tenho de acrescentar para ele remover tambem pastas? Obrigado |
|||
22-08-2010, 02:06
Mensagem: #4
|
|||
|
|||
RE: Script para eliminar ficheiros
(21-08-2010 12:11)Apaxe Escreveu: #!/bin/bash O problema esta' no comando rm. Para forca-lo a apagar directorias precisas de -rf (recursive, force). O problema e' que tambem apaga todos os ficheiros e sub-directorias dentro da directoria. rmdir apaga directorias que estejam vazias. De forma simples, poderias usar o seguinte: Código: find "$DIR" -mtime +15 -exec rm -rf {} \; Outra forma com algumas melhorias: Código: #!/bin/sh Fiquem Bem! |
|||
22-08-2010, 12:24
Mensagem: #5
|
|||
|
|||
RE: Script para eliminar ficheiros
Efectivamente o script remove os ficheiros, as directorias vazias e também o conteúdo das directorias não vazias.
O engraçado é que como elas passaram a vazias numa nova execução do script este não as remove !!! Obrigado. |
|||
23-08-2010, 03:59
Mensagem: #6
|
|||
|
|||
RE: Script para eliminar ficheiros
(22-08-2010 12:24)Apaxe Escreveu: Efectivamente o script remove os ficheiros, as directorias vazias e também o conteúdo das directorias não vazias. Parece que tens que mostrar a estrutura do que esta' na directoria dos logs. Numa nova execucao, ate' o rm apaga uma directoria vazia. Fiquem Bem! |
|||
23-08-2010, 14:01
Mensagem: #7
|
|||
|
|||
RE: Script para eliminar ficheiros
Elias, nos testes que fiz o "rm" não removeu as directorias.
Obrigado. |
|||
29-08-2010, 15:48
Mensagem: #8
|
|||
|
|||
RE: Script para eliminar ficheiros
para remover directorias precisas de ter 'rm -r'
cumps |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 4 Visitante(s)