Как читать отдельные журналы с сервера Linux в другой файл журнала, используя скрипт Perl - PullRequest
0 голосов
/ 01 июня 2011

Я новичок в Perl, у меня есть вопрос, например: «Как читать отдельные журналы с Linux-сервера в другой файл журнала с помощью сценария Perl», мне нужно захватить отдельные журналы с разных путей и вывести результат этих файлов журналаи сохранить в файл в другом месте. Эти журналы создаются в Linux Server ..

Заранее спасибо ...

Ответы [ 2 ]

3 голосов
/ 01 июня 2011

Вы можете легко объединить их все вместе, если это то, что вы хотите:

cat log1 log2 log3 > result

Обновление:

Если вы хотите, чтобы последние строки из журналов в разных журналахвыходные файлы, используйте tail:

tail -50 /opt/psauto1/tester.log > /some/other/file
tail -50 /opt/psauto1/testdata.log  > /some/other/file2
tail -50 /opt/view/test/itresult.log  > /some/other/file3
tail -50 /opt/test/glr.log > /some/other/file4
tail -50 /opt/test/glr/glrdata.log > /some/other/file5
tail -50 /opt/test/glr/result.log > /some/other/file6 
tail -50 /opttest/glr/output.log > /some/other/file7

Вы даже можете поместить это в цикл и запускать каждые 5 секунд:

while [ true ]
do
  tail -50 /opt/psauto1/tester.log > /some/other/file
  tail -50 /opt/psauto1/testdata.log  > /some/other/file2
  tail -50 /opt/view/test/itresult.log  > /some/other/file3
  tail -50 /opt/test/glr.log > /some/other/file4
  tail -50 /opt/test/glr/glrdata.log > /some/other/file5
  tail -50 /opt/test/glr/result.log > /some/other/file6 
  tail -50 /opttest/glr/output.log > /some/other/file7 
  sleep 5
done
0 голосов
/ 01 июня 2011

Что касается tail -f, вы можете сделать это так:

(
    tail -f file1 &
    tail -f file2 & 
)>>total_file

() сгруппирует команды вместе (fork в подоболочке), а >> добавит файл, а & переведет команды в фоновый режим.

Что касается perl, select в File :: Tail руководстве в значительной степени объясняет, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...