Как я могу не допустить вихревой вывод в почту от моего cronjob?

Я записал сценарий Perl, который работает как ежедневная газета crontab задание, которое загружает файлы на Amazon S3 через ЗАВИХРЕНИЕ. Я хочу вывод задания крона, посланного по электронной почте мне, который хорошо работает, но я не хочу, чтобы та электронная почта включала сообщения, связанные с ВИХРЕВОЙ загрузкой (только они обмениваются сообщениями, мой сценарий производит). Вот ВИХРЕВЫЕ похожие сообщения, которые я вижу в ежедневном электронном письме прямо сейчас:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0  230M    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0  230M    0     0    0  544k      0  1519k  0:02:35 --:--:--  0:02:35 1807k
  0  230M    0     0    0 1744k      0  1286k  0:03:03  0:00:01  0:03:02 1342k
  1  230M    0     0    1 2880k      0  1219k  0:03:13  0:00:02  0:03:11 1250k
  1  230M    0     0    1 4016k      0  1198k  0:03:17  0:00:03  0:03:14 1218k
  2  230M    0     0    2 5168k      0  1186k  0:03:19  0:00:04  0:03:15 1202k
  2  230M    0     0    2 6336k      0  1181k  0:03:19  0:00:05  0:03:14 1157k
  3  230M    0     0    3 7488k      0  1177k  0:03:20  0:00:06  0:03:14 1147k
  3  230M    0     0    3 8592k      0  1167k  0:03:22  0:00:07  0:03:15 1142k
  4  230M    0     0    4 9744k      0  1166k  0:03:22  0:00:08  0:03:14 1145k
  4  230M    0     0    4 10.6M      0  1163k  0:03:23  0:00:09  0:03:14 1142k
  5  230M    0     0    5 11.7M      0  1161k  0:03:23  0:00:10  0:03:13 1140k
  5  230M    0     0    5 12.8M      0  1158k  0:03:23  0:00:11  0:03:12 1133k
  6  230M    0     0    6 13.9M      0  1155k  0:03:24  0:00:12  0:03:12 1138k
  6  230M    0     0    6 15.0M      0  1155k  0:03:24  0:00:13  0:03:11 1138k
  7  230M    0     0    7 16.1M      0  1152k  0:03:25  0:00:14  0:03:11 1131k
  7  230M    0     0    7 17.2M      0  1152k  0:03:25  0:00:15  0:03:10 1132k
  7  230M    0     0    7 18.4M      0  1152k  0:03:24  0:00:16  0:03:08 1140k

Я использую простой Perl system() звоните для вызова CURL. Кто-либо знает, какой параметр командной строки я могу предоставить ЗАВИХРЕНИЕ для выключения создания отчетов прогресса загрузки?

5
задан brian d foy 23 April 2010 в 20:30
поделиться

2 ответа

По какой-то причине моя версия CURL не распознавала -s или -silent, что, как я знаю, не имеет смысла. Как предложил @Friedo, я попытался использовать обратные кавычки или оператор qx, который также не избавлялся от нежелательных отчетов о ходе загрузки. В конечном итоге я пошел очень нелегким путем, добавив > / dev / null 2> & 1 в конец системного вызова, который решил проблему.

0
ответ дан 13 December 2019 в 22:04
поделиться

Здесь есть несколько вариантов.

Вы можете использовать флаг -s или - silent , чтобы отключить весь вывод. Из справочной страницы curl :

  -s / - silent 
Тихий или тихий режим. Не показывать счетчик прогресса или сообщения об ошибках - 
мудрецов. Делает Curl беззвучным. 
 

Или вместо использования чего-то вроде system в вашем Perl-скрипте для запуска curl вы можете использовать обратные кавычки или qx оператор для захвата вывода в переменную.

Или вы можете открыть свой процесс curl с конвейером , чтобы захватить его STDOUT и просмотреть его позже.

Наконец, вы можете изучить возможность замены системных вызовов curl собственной библиотекой Perl, например LWP :: UserAgent или Mechanize .

10
ответ дан 13 December 2019 в 22:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: