По команде, кажется, отбрасывает вывод

Запуск "at" либо в Debian Jessie, либо в Raspbian Jessie, кажется, что вывод выходит из черной дыры, что бы я ни делал. Я хочу зафиксировать ошибки, но даже в простом случае стандартного вывода я не могу захватить вывод.

Я пытаюсь, например:

echo "curl 'http://www.example.com' > tmp.log" | at -M -t 201706042241.36

tmp.log всегда пуст, но одинаков curl не проходит at производит ожидаемый HTML. Если я опущу -M I, я ничего не получу.

Что я действительно хочу, так это вывод ошибок. Если я попробую

echo "curl 'http://badbadbad.example.com' 2>&1 > tmp.log" | at -M -t 201706042241.36

Я получаю пустой tmp.log; и если я опущу -M I получить пустое письмо. Если я опущу перенаправления, таким образом:

echo "curl 'http://badbadbad.example.com'" | at -t 201706042241.36

Я также получаю пустое письмо. Я бы ожидал увидеть curl: (6) Could not resolve host: badbadbad.example.com

В syslog, messages или daemon.log нет ничего в /var/log. Я запускаю команды как обычный пользователь, а не как root.

at кажется, угоняет и отбрасывает каждую попытку получить вывод от команды, которую я запускаю. Я что-то неправильно понимаю at?

1 ответ

Вы пытаетесь труба | вывод ваших команд в at вместо того, чтобы давать ему команды для запуска в указанное время. at читает команды со стандартного ввода (at> подскажите) или из файла (-f). Сводка:

at [-V] [-q queue] [-f file] [-mldbv] TIME
at [-V] [-q queue] [-f file] [-mldbv] -t time_arg

Вот хорошая статья с примерами использования.

Другие вопросы по тегам