NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
UK

Команди Linux і навички оболонки

wget: завантажувач, який ніколи не спить

wget — це curl для завдань, які вимірюються годинами: дзеркала, архіви, рекурсивні завантаження та пакети cron, які виконуються, поки ніхто не спостерігає. Він виконує рекурсію, враховує robots.txt, відновлює перервані передачі за замовчуванням і відповідає за обмеження швидкості та інтервали очікування, що залишається для абонента. Між двома інструментами чіткий розподіл: wget для об’ємності та терпіння, curl для точності, а команда, яка знає обидва, рідко потребує третього інсталятора.

Головне

  1. Дзеркалювання складається з одного рядка: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; omit --no-parent, і архів документації тихо перетворюється на сканування всього, що над ним.
  2. Відновити та повторити спробу безкоштовно: wget -c вибирає перерване передавання в резервну копію, а --tries=10 --waitretry=5 виганяє сервери, які гальмують посеред навантаження, замість того, щоб давати збій при першому посмикуванні.
  3. Ввічливість має прапорці: --limit-rate=200k, --wait=1 і --random-wait запобігає відключенню дзеркала від обмежень висхідної швидкості або положення про порушення спільного сервера; Спільний хостинг плюс необмежений сканер — це коротка дружба.
  4. robots.txt поважається за замовчуванням; -e robots=off навмисно перевизначає його, і використання цього перевизначення для чужого робочого сайту – це те, як масові завантаження перетворюються на квитки про інциденти.
  5. wget -O /dev/null -nv https://host/health — це однорядковий моніторинговий тест, коди виходу якого містять діагноз: 4 — збій мережі, 8 — помилка сервера, і обидва перемагають тихий cron.
  6. Перетворення має значення після факту: --convert-links переписує дзеркальний сайт для офлайн-навігації, а --adjust-extension зберігає сторінки, згенеровані CMS, у розширеннях, які можуть використовуватися локальними інструментами.
  7. Масові завдання в cron отримують файли блокування, або перекриваються запуски записують у напівзавершені файли один одного, тоді як --waitretry тихо розтягує завдання за вікно; wget не має внутрішнього м'ютексу.
  8. Знайте межу: форми, сеанси з великою кількістю файлів cookie та кінцеві точки API належать до curl, а створені за допомогою JavaScript сторінки відображаються як порожні оболонки, оскільки wget переходить за посиланнями, а не за сценаріями.

Польова нотатка

Одне дзеркало без --no-parent за ніч заблукало в сорок гігабайтів медіатеки клієнта й майже заповнило диск. Прапори ввічливості встановлюються один раз і потім копіюються назавжди.

Часті запитання

Чому моє дзеркало містить лише одну сторінку?

Прапори області виконали роботу, яку хтось мав намір скасувати: обмеження robots.txt, --no-parent, обмеження глибини або сайт, який відтворюється JavaScript. wget переходить за посиланнями, які він бачить; перевірте -o wget.log перед тим, як звинувачувати інструмент.

Коли я повинен вибрати wget замість curl для одного завантаження?

Для всього, що можна відновити або надійно для cron: -c продовження, вбудовані повторні спроби та відмітка часу (--timestamping) роблять wget вибором, який потребує мало уваги; curl дає вам те саме, лише якщо ви збираєте його самостійно.

Чи законно чи ввічливо віддзеркалювати публічний сайт?

Право власності вирішує законно, robots.txt і завантаження вирішують ввічливо: поважайте файл robots, придушуйте до людської ставки та віддайте перевагу офіційному експорту або API, коли ціль запропонує їх.

Чому деякі сайти повертають 403 у звичайний wget?

Фільтрація за допомогою агента користувача, зазвичай навмисна; --user-agent='Mozilla/5.0' допоможе вам, але відфільтрований 403 також означає, що оператор спостерігає, тому діалог або API є кращим наступним кроком.

Допомога Kinetikatech: команди linux і навички оболонки

Вам не обов'язково ставати експертом із команди linux і навички оболонки: Команди та сценарії, які вирішують, чи керує адміністратор сервером, чи бореться з ним: шукайте, трансформуйте, пересилайте та контролюйте текст і процеси за допомогою інструментів, які присутні в кожній базовій установці. Саме для цього й існує служба Безпека серверів Linux та Адміністрування серверів: налаштування, посилення захисту, моніторинг і жива людина на зв'язку цілодобово.

Поговорити з інженером

Проблема із сервером? Зламаний сайт? Повільна сторінка?

Критичні інциденти — відповідь за 30 хвилин, цілодобово, 7 днів на тиждень.

Запросити екстрену підтримку support@kinetikatech.com