Чи є спосіб видалити файли хвоста 2?
У мене є два сервери (a і b) за балансиром навантаження, і я хотів би зробити щось подібне, якщо можливо:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Дякую!
Чи є спосіб видалити файли хвоста 2?
У мене є два сервери (a і b) за балансиром навантаження, і я хотів би зробити щось подібне, якщо можливо:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Дякую!
Відповіді:
Це працювало для мене:
ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &
Ctrl+C
.
fg
; тоді ти можеш ctrl+c
. Ви зробите це один раз для кожного хвоста, який ви біжите. Або ви могли pkill -f ssh
одночасно націлити на них усіх.
Мій кращий варіант - перейти з багатоповерхівкою. Я б запустив щось на кшталт:
multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'
Operation not permitted
, з 2 3 веб-вузлами, це нормально
Operation not permitted
, якісь підказки?
Я думав, що це також можливо використовувати:
ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &
Опція -f після ssh дозволяє ввести пароль до запуску у фоновому режимі. Тоді ви можете мати рядкові результати в одному файлі та виконувати:
tail -f /tmp/somefile
Ви дали б трохи більше контролю над поточною командою "хвіст" у випадку, якщо ви хочете використовувати інші варіанти хвоста для відображення виводу.
Перевірте цю відповідь на stackoverflow - вона використовує dsh та хвост -f.
Погляньте на багатоповерхівку . Як і в наведених вище прикладах, ви можете дати це як команду ssh, і тоді ви отримаєте на одному екрані декілька журналів (і буферизацію для легких прокруток). Це також робить забарвлення, що дуже корисно для виявлення аномалій.
Parallel ssh має гарне рішення для цього:
pssh -t0 -H 'host-01 host-02 host-03 host-04' -P tail -f /var/log/app.log
-t0
вимикає час очікування з'єднання, інакше pssh закрив з'єднання-H '<host>...'
це список хостів для запуску команди-P
полягає в тому, щоб включити друк stdout кожного хостаtail -f /var/log/app.log
може бути будь-яка команда, яку може виконувати ваша віддалена оболонкаЩо б ви сказали про щось подібне? http://gist.github.com/303175
Просто дивне рішення, але воно працює !:
Екран 1
ssh user@hostname1 "tail -f /var/log/file" > /dev/pts/6
Екран 2
ssh user@hostname2 "tail -f /var/log/file" > /dev/pts/6
who am i
і він вам це покаже.)
Ви можете замовити dbitail.
Я створив інструмент Java, який міг читати локальні та віддалені файли журналів за допомогою SSH. Це досить просто у використанні.
Ще кілька пояснень: https://github.com/pschweitz/DBITail/wiki
Просто завантажте версію, що відповідає вашій операційній системі, з нативної версії випуску jar в режимі Java Runtime (потрібно java 8_40 або вище):
https://github.com/pschweitz/DBITail/releases
Ви можете знайти повну документацію (вкладену і на сторінку Github також)
Філіп
або ви можете використовувати екран, щоб створити два термінали, а потім розділити їх.
SSH в перший хост, на який потрібно підключити файл журналу, і перед запуском хвоста введіть екран.
Потім введіть файл на цьому хості.
CTRL + A, c створить новий екран або вікно. З цього нового вікна ssh на другий хост і перейдіть на файл.
Тепер створити розділений екран
CTRL + A, SHIFT + S, це створить розділений екран із поточною оболонкою у верхній частині, а нижня частина порожньою. Щоб переключитися на нижню частину і помістити перший екран у неї,
CTRL + A, TAB, це перемістить вас до нижньої частини. Тепер, щоб принести ваш перший сеанс SSH в цю область:
CTRL + A "(символ котирування) та виберіть перший сеанс та натисніть клавішу Enter.
Я усвідомлюю, що це може виглядати як багато гімнастики, і це так, але ви користуєтеся ним, коли кілька разів користуєтесь ним.
Ось справді хороший підручник або швидке посилання на команди екрана: http://www.pixelbeat.org/lkdb/screen.html
Крім того, ви можете створити .screenrc файл, так що більша частина того, що я описав, може бути автоматизована під час першого входу на екран.
Ще одна приємна річ у цьому - це те, що ви можете просто закрити сеанс і відновити його в іншому місці. Наприклад, ви працюєте і у вас спостерігається певний моніторинг. Ви можете просто закрити сеанс, не виходячи з системи, і відновити роботу, повернувшись додому чи в інше місце.
Ви можете віддалено Tail-файли за допомогою bash та rsync, я використовую його, і це чудовий скрипт bash. Подивіться наступний підручник