Script de exclusão de arquivo antigo

0

Eu usei este script:

#!/bin/sh

for file in "$( find /var/backup/web2 -type f -mtime +1 -maxdepth 1 -exec rm -f {} \; )"
do
  rm -f $file
done

exit 0

para excluir arquivos mais antigos que 24h do diretório fixo. O script parou de funcionar, apresentando o erro:

find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.

Depois de corrigir o comando de acordo com as especificações fornecidas, o script não produz mais erros, mas também não funciona (arquivos antigos ainda existem). Alguma idéia do que causou a falha de um script em funcionamento e como corrigi-lo?

    
por Toby Speight 28.06.2015 / 14:38

1 resposta

3

Não tenho certeza da finalidade do for loop em seu script, que não é necessário e não serve a nenhum propósito. O seguinte irá funcionar como você esperava.

find /var/backup/web2 -maxdepth 1 -type f -mtime +1 -delete
    
por 28.06.2015 / 15:28