Listar arquivos de acordo com data e seu tamanho

1. Listar arquivos de acordo com data e seu tamanho

Udson Assis
udson

(usa Debian)

Enviado em 16/08/2017 - 10:58h

Caros, tenho o seguinte senário.

Um servidor Asterisk com gravações e de tempos em tempos preciso apagar as gravações.

Atualmente faço seguinte, uso o find com mtime pra apagar as gravações com mais de 365 dias.

Surgiu a necessidade a mover os arquivos para outra unidade, então os arquivos que possuem mais de 2 anos na segunda unidade são apagados e os arquivos que tem mais de 1 ano na primeira unidade são movidos pra segunda unidade.

Porém, mesmo apagando os arquivos com mais de 2 anos na segunda unidade, há casos que ele nao tem espaço pros arquivos com mais de 1 ano da primeira unidade, eu queria fazer o seguinte:

1 -apagar arquivos com mais de 2 anos na unidade 2
2 - checar espaço live na unidade 2
3 - listar arquivos com mais de 1 ano na unidade 1 que some o tamanho 10% menor que o espaço disponivel na unidade 2 e move-los pra unidade 2

A dificuldade é listar os arquivos com mais de 1 ano que somem tamanho <= 90% do espaço disponivel em unidade 2.

Alguem tem alguma ideia ?






  


2. Re: Listar arquivos de acordo com data e seu tamanho

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/08/2017 - 17:15h

udson escreveu:

Caros, tenho o seguinte senário.

Um servidor Asterisk com gravações e de tempos em tempos preciso apagar as gravações.

Atualmente faço seguinte, uso o find com mtime pra apagar as gravações com mais de 365 dias.

Surgiu a necessidade a mover os arquivos para outra unidade, então os arquivos que possuem mais de 2 anos na segunda unidade são apagados e os arquivos que tem mais de 1 ano na primeira unidade são movidos pra segunda unidade.

Porém, mesmo apagando os arquivos com mais de 2 anos na segunda unidade, há casos que ele nao tem espaço pros arquivos com mais de 1 ano da primeira unidade, eu queria fazer o seguinte:

1 -apagar arquivos com mais de 2 anos na unidade 2
2 - checar espaço live na unidade 2
3 - listar arquivos com mais de 1 ano na unidade 1 que some o tamanho 10% menor que o espaço disponivel na unidade 2 e move-los pra unidade 2

A dificuldade é listar os arquivos com mais de 1 ano que somem tamanho <= 90% do espaço disponivel em unidade 2.

Alguem tem alguma ideia ?

Boa tarde, Udson.
Algumas sugestões:
Espaço LIVRE na unidade:
ESP_DISP=$(df /dev/sdd1 |sed '1d'|awk '{print $4}')

Listar arquivos e somar o "TAMANHO"
PS: Fiz o teste com o "ls", direcione a saída do find -mtime para o "awk"
e ajuste o campo que será somado, no caso do exemplo, é o campo "3".
SOMA=$(ls -RGg|awk '{S+=$3;}END{print S}')

Att.:
Marcelo Oliver




3. Re: Listar arquivos de acordo com data e seu tamanho

Udson Assis
udson

(usa Debian)

Enviado em 16/08/2017 - 17:26h

Obrigado Marcelo, funcionou perfeitamento.

Grande abraço






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts