Intereting Posts
Solaris grep и регулярные выражения? Obmenu не запускается: говорит, что мне не хватает модуля GTK Перезагружает ли SO_ATTACH_FILTER буфер приема сокета? Как использовать awk для печати, если значение столбца имеет четное число Какое особое значение имеет «#» в шаблоне расширения параметров? Сохранить список эхо-сигналов в .txt Не удалось обновить прошивку «Ошибка обработки архива» Командная строка для перехода в каталог, переданный командой Подстановка команды в псевдониме разрешена в профиле bash? Успешно инициализирован wpa_supplicant, но я не подключен и не могу достичь wpa_cli Как предоставить права пользователю на сервер для использования программ Использование символической ссылки в каталоге с содержимым Прерванное обновление apt сломалось udev и systemd Есть ли способ включить безопасную загрузку в Linux? Поиск всех файлов .cpp и .h и их перемещение в ~ / мусор

Почему возможно> / dev / null 2> & 1 не работает?

Запуск Ubuntu 16.04 Я добавил следующее в / etc / crontab:

* * * * * root wget https://www.exmaple.org/bus/ >/dev/null 2>&1 

Задача cron работает правильно, но результат записывается как файл в / root /, а не отбрасывается, как ожидалось. Будучи новичком в Linux, я полагаю, что мне не хватает чего-то элементарного, но честный поиск не принес ничего, что кажется родным.

>/dev/null отбрасывает стандартный вывод команды. В вашем примере нет ни одного. 2>&1 заставляет стандартную ошибку команды отбрасываться. В вашем примере это содержит информацию о состоянии и ошибках, отображаемую wget.

Если URL-адрес действителен (например, если сервер возвращает некоторый контент для страницы), wget сохраняет содержимое страницы в файле. Это не показывает стандартный вывод wget и стандартную ошибку wget: это некоторые данные, которые wget сохраняет в файле. На это не влияют перенаправления, так как wget выводит на файл, который открывается по имени, а не на стандартный поток.

Если вы не хотите сохранять выход в любом месте, скажите wget, чтобы сохранить его в /dev/null :

 wget -O /dev/null … 

Обратите внимание, что ошибки в задании cron полезны, но Ubuntu отбрасывает их по умолчанию. Вывод задания cron (стандартный вывод и стандартная ошибка) отправляется локальной почтой; см. Как администраторы должны читать почту root? как это сделать. Раздражающе, wget производит много выходных данных, даже если все работает нормально, у него нет возможности отображать только ошибки. Вы можете обойти это, сохранив вывод и отбросив его, если команда выполнена успешно:

 trace=$(wget … 2>&1) || echo "$trace" >&2