По команде, кажется, отбрасывает вывод
Запуск "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
Вот хорошая статья с примерами использования.