Que alternativas para 'encontrar' estão lá que funcionarão em um ambiente cron na nuvem rackspace?

1

Estou escrevendo um script de shell para executar um backup do mysql como uma tarefa cron e estou tendo um problema com o comando find não sendo suportado no ambiente cron do rackspace cloud sites. Qualquer tentativa de usar o comando find dá: / usr / bin / find: Permissão negada

Quais alternativas existem para fazer:

find *.gz -mtime +7 -delete

quando os arquivos são nomeados assim:

gzip > /mnt/target03/rest-of-path/web/backups/DATABASENAME_'date "+%Y-%m-%d"'.gz

?

Eu esperava poder analisar a data do arquivo sem usar o Find em um loop, algo como:

FILES=./path/to/files/*
for f in $FILES
do
 #delete files older than 7 days without using find

done
    
por codecowboy 20.12.2011 / 17:47

2 respostas

2

Eu sugeriria fazer o upload de sua própria cópia de pesquisa, se ela não existir lá.

Se isso não funcionar, um script Perl usando o módulo Arquivo :: Localizar pode ser útil.

    
por 20.12.2011 / 17:53
0

Isso pode ser um problema no ambiente PATH. Como um comentarista mencionado, você pode querer experimentar o caminho completo em seu cron.

Tente

whereis find
which find
locate find

Para ver se você consegue identificar o caminho completo a ser encontrado.

Nos sistemas da Red Hat, o find faz parte do RPM findutils e geralmente está localizado em:

/ usr / bin / find

então reescreva seu cron como:

/usr/bin/find *.gz -mtime +7 -delete
    
por 20.12.2011 / 20:53