for i in {1..100000}
Существует только 65 536 портов. Отрегулируйте это.
for n in {1..100000..1000}; do # start 100 fetch loops
for i in `eval echo {$n..$((n+999))}`; do
echo "club $i..."
curl -s "http://some_url_here/"$i > $i.txt
done &
wait
done
(редактирование: echo
curl
(редактирование: разделите сильно датированное утверждение о пределах ОС и добавьте пропавших без вести wait
)
Если нет какого-либо специфического для NetApp способа сделать это, квота обычно представляет собой всего несколько чисел: использованное количество, разрешенное количество. Его отслеживают тривиальным образом: если пользователь удаляет файл размером 1 МБ, вычтите 1 МБ из использованного объема. Если пользователь добавляет 1 МБ к файлу, добавьте 1 МБ к используемому объему. Сама квота не знает (и не заботится), какие файлы используют это пространство.
Однако та команда поиска, которую вы используете, не оптимальна. Во-первых, чтобы найти владельца, find
должен запустить stat
для файла. Итак, find
уже имеет размер. Далее, exec ls {} \;
довольно неэффективен. По крайней мере, вы должны использовать -exec ls {} +
, чтобы уменьшить количество вызовов ls
. Но даже лучше (если он есть в вашей находке, не уверен, что он стандарт) - -printf
. Это полностью избегает ls и позволяет вам использовать stat
find, который уже был выполнен:
find … -printf '%s %p\0' # that gives null-delimited, you can use \n instead
# for newline-delimited
Есть много других флагов для -printf
, проверьте справочную страницу find.