A principal diferença pode ser o tempo de pesquisa em um /storage
muito maior. Maio esta pasta no servidor contém uma quantidade muito grande de qualquer tipo de arquivos que aumentam a duração necessária para encontrar todos os arquivos dat
nesta árvore. O lado do servidor /storage
pode ser lento também.
O próximo comando pode dar uma idéia disso (conta o número de arquivos e pastas em /storage
):
find /storage | wc -l
Observe também que o comando que você executa procurará todos os *.dat
arquivos como uma primeira etapa e, em seguida, chamará chmod
apenas uma vez com todos os nomes correspondentes como uma segunda etapa.
Chamar chmod
com 20 argumentos de nome de arquivo é razoável, mas o argumento 800 caminho de arquivo se torna um pouco demais. Seu sistema tem limitações sobre o tamanho do argumento da linha de comando (veja xargs --show-limits
).
Eu sugiro que você pergunte diretamente a find
para executar o seu comando, o que quebrará chmod
das chamadas em vários sub- conjuntos. O próximo comando chamará chmod
uma vez por pasta contendo dat
arquivos, o que parece razoável:
find /storage -type f -name '*.dat' -execdir chmod 444 '{}' \+
- Para obter um
chmod
por arquivo correspondente, é necessário substituir\+
por\;
- Para ter uma ideia melhor da progressão, você pode adicionar o argumento
--changes
ou--verbose
achmod
call.