원격 테일 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과 함께하는 것입니다. 나는 다음과 같은 것을 실행했다 :
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 &
ssh 뒤의 -f 옵션을 사용하면 백그라운드에서 실행하기 전에 비밀번호를 입력 할 수 있습니다. 그런 다음 한 줄씩 결과를 단일 파일로 만들고 실행할 수 있습니다.
tail -f /tmp/somefile
출력을 표시하기 위해 다른 테일 옵션을 사용하려는 경우 현재 "테일"명령을 조금 더 제어 할 수 있습니다.
stackoverflow 에서이 답변을 확인하십시오 -dsh 및 tail -f를 사용합니다.
multitail을 살펴 보십시오 . 위의 예와 같이 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
각 호스트의 표준 출력을 인쇄하는 것입니다.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을 체크 아웃 할 수 있습니다.
SSH를 사용하여 로컬 및 원격 로그 파일을 읽을 수있는 Java 도구입니다. 사용이 매우 간단합니다.
좀 더 설명 : https://github.com/pschweitz/DBITail/wiki
Java Runtime 내에서 기본 jar 릴리스 실행 파일의 운영 체제에 해당하는 버전을 다운로드하십시오 (java 8_40 이상 필요).
https://github.com/pschweitz/DBITail/releases
완전한 문서를 찾을 수 있습니다 (I 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 파일을 만들어 처음으로 화면을 입력했을 때 설명한 내용의 대부분을 자동화 할 수 있습니다.
이것에 대한 또 다른 좋은 점은 세션을 닫고 다른 곳에서 다시 시작할 수 있다는 것입니다. 예를 들어, 작업 중이며 모니터링이 진행 중입니다. 로그 아웃하지 않고 세션을 닫고 집이나 다른 위치로 돌아갈 때 다시 시작할 수 있습니다.
bash와 rsync를 사용하여 원격으로 파일을 Tail 할 수 있습니다. 나는 그것을 사용하고 있으며 훌륭한 bash 스크립트는 다음 자습서를 살펴 봅니다.