Наблюдайте несколько файлов журнала в одном выводе

Короткий ответ:

Выйдите % как \%:

0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+\%d"`.log

Длинный ответ:

Сообщение об ошибке предполагает, что оболочка, которая выполняет Вашу команду, не видит, что вторая спина отмечает символ:

/bin/sh: -c: line 0: unexpected EOF while looking for matching '`'

Это также подтверждено вторым сообщением об ошибке Ваш полученный при попытке одного из других ответов:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ')'

crontab страница справочника подтверждает, что команда только для чтения до первого незавершенного % знак:

"Шестое" поле (остальная часть строки) указывает команду, которая будет выполнена. Вся часть команды строки, до новой строки или % символ, будет выполняться /bin/sh или оболочкой, указанной в SHELL переменная cronfile. Знаки процента (%) в команде, если не оставлено с обратной косой чертой (\), будет изменен в символы новой строки и все данные после первого % будет отправлен в команду как стандартный вход.

63
05.12.2012, 01:35
2 ответа

Вы попробовали tail -f file1 file2? Это, кажется, делает точно, что Вы хотите, по крайней мере, на моей машине FreeBSD. Возможно, tail это идет с системой Debian, может сделать это также?

97
27.01.2020, 19:32
  • 1
    Да.Работает!Спасибо. Я никогда не ожидал, что это будет НАСТОЛЬКО легко. –  stofl 04.12.2012, 13:37
  • 2
    , я обычно использую -F вместо этого, так как много файлов могут стать усеченными, поскольку я перезапускаю программы сервера. –  Arcege 05.12.2012, 01:37
  • 3
    Моя новая любимая комбинация параметра tail -qF *.log: -q скрыть имена файлов и -F, поскольку Arcege указал, для разрешения tail следуйте за именем, а не дескриптором, потому что мои файлы журнала поворачиваются. –  Denis Drescher 04.10.2016, 13:26
  • 4
    Проверенный также на Ubuntu 16.04 LTS –  Ricardo 12.05.2017, 05:03

Для упражнения я написал маленькую утилиту узла, которая делает то же самое, что и tail -f f1 f2 f3

Сплекс:

https://www.npmjs.com/package/splex

Основное «обновление» заключается в том, что строки кодируются цветом для каждого имени файла, и вы можете иметь табличный -интерфейс.

Еще одно улучшение, на самом деле основная причина, по которой я написал это, — это возможность иметь файлы .splexrc.json в разных папках, поэтому вместо ввода tail -f f1 f2 f3в одной папке, а затем разных файлов в других, вы можете записать файл.splexrc.json в корень вашего проекта и просто ввести splexбез аргументов списка файлов, и он автоматически выполнит потоковую передачу соответствующих журналов, перечисленных вами в файле конфигурации.

3
27.01.2020, 19:32

Теги

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