find: falha ao restaurar o diretório de trabalho inicial: Permissão negada

0

Eu estou tentando encontrar alguns arquivos em um caminho /local/java_apps/ e, em seguida, excluí-los usando um script de shell e gerar um arquivo de log no /home/jboss O código é o seguinte:

STAMP=$(date +"%m%d%Y%H%M%S")
sudo -u jboss find /local/java_apps/ -type f -iname '*.pdf' -mtime +180 -print -delete >> /home/jboss/.log_$STAMP 2>&1

O comando ls -ld /local/java_apps fornece:

drwxrwxr-x+ 3 root root 4096 Oct 10 2017 /local/java_apps/

O crontab tem esta aparência:

0 1 * * 4 /etc/cron.weekly/servercleanup.sh

Quando o script é executado pelo crontab, ele apresenta o seguinte erro:

find: failed to restore initial working directory: Permission denied
    
por Yash Gandhi 11.10.2018 / 09:21

1 resposta

0

find altera seu diretório como parte de sua operação interna. Quando você executa o comando, está sentado em um diretório em que o usuário jboss não tem permissão para ir, portanto, quando find tentar colocar seu diretório de volta no que era, ele falhará. Para corrigir o problema, execute o comando em um diretório que jboss tenha permissão para acessar.

    
por 12.10.2018 / 04:41