2015-07-14 6 views
1

У меня есть довольно много длительные процессы, и я использую эту команду, чтобы мне текст в различных точках по всему сценарию и дайте мне знать, когда что-то завершено:Как передать хвост файла журнала команде?

curl http://textbelt.com/text -d number=<PHONE NUMBER> -d "message=Doneskiiz" 

Вместо этого основного послания, которое я хотел бы включить хвост файла журнала в сообщение, чтобы я мог видеть последние несколько строк, чтобы узнать, было ли это успешным и заглянуть в результат. Если возможно, мне нужно включить текущее время (или во второе сообщение).

ответ

1

Шаги:

а) выполнить "дата", чтобы получить текущую дату

б) выполнить "хвост -n NNN", чтобы получить "NNN" последние строки файла журнала

с) исполняют «curl» с «--data-binary @file» или «--data-binary @ -» или «-F field = @ filename», чтобы опубликовать предыдущую информацию.

вы можете увидеть аналогичный пример в curl: pass a named parameter from stdin:

tail -n 20 my.log | curl -d date="$(date)" -d number="555123" -F [email protected] "http://somewhere" 
+0

Не могли бы вы включить остальную часть строки и показать, как выход хвоста заканчивается в «сообщение = »? – user974887

0

Я не знаю, если это то, что вы можете сделать с хвостом и труб, но это то, что вы можете сделать с Inotify библиотеки.

посмотрите на iwatch, который может вызвать событие, когда ваш файл будет изменен и запустит ваш скрипт.

Прочтите это.

http://arkanis.de/weblog/2014-02-16-iwatch-run-a-command-when-a-file-changes