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
chmodpor arquivo correspondente, é necessário substituir\+por\; - Para ter uma ideia melhor da progressão, você pode adicionar o argumento
--changesou--verboseachmodcall.