Скорее всего, вам стоит обратить внимание на:
total - available
Если это не было одинаковым для всех трех машин, то это может потребовать дальнейшего изучения. То, что вы видите, это просто машина, которая кэширует немного больше дискового ввода-вывода.
Код:
cat domains.txt | xargs -I {} -P 4 sh -c timeout 25s chromium-browser --headless --no-sandbox --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' --dump-dom https://{} 2> /dev/null > {}.html
Аргумент sh -c
не заключен в кавычки. При правильном цитировании он также внедряет код в скрипт sh -c
из xargs
, что является уязвимостью системы безопасности.
Конвейер написан лучше
xargs -I {} -P 4 sh -c '
timeout 25s chromium-browser \
--headless --no-sandbox \
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36" \
--dump-dom \
"https://$1" 2>/dev/null >"$1.html"' sh {} <domains.txt
... но обратите внимание, что это по-прежнему записывает в файлы с именами вроде https://ibm.com/.html
, если у вас есть эти строки в файле domains.txt
(, т.е. в файлы в подкаталогах со странными именами ), и он попытается получить URL-адреса, такие как https://https://ibm.com/
.
Я думаю, что намерение состоит в том, чтобы оставить только фактические домены,не полные URL, в файле domains.txt
, т.е.
ibm.com
www.linux.org
Лично я предпочел бы гораздо более простое решение, используя curl
.