Có cách nào để đuôi 2 file từ xa không?
Tôi có hai máy chủ (a và b) phía sau bộ cân bằng tải và tôi muốn làm một cái gì đó như thế này nếu có thể:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Cảm ơn!
Có cách nào để đuôi 2 file từ xa không?
Tôi có hai máy chủ (a và b) phía sau bộ cân bằng tải và tôi muốn làm một cái gì đó như thế này nếu có thể:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Cảm ơn!
Câu trả lời:
Điều này làm việc cho tôi:
ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &
Ctrl+C
.
fg
; sau đó bạn có thể ctrl+c
nó Bạn sẽ làm điều đó một lần cho mỗi đuôi bạn đang chạy. Hoặc bạn có thể pkill -f ssh
nhắm mục tiêu tất cả chúng cùng một lúc.
Tùy chọn ưa thích của tôi là đi với đa nhiệm. Tôi sẽ chạy một cái gì đó như:
multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'
Operation not permitted
, với 2 3 nút web, không sao cả
Operation not permitted
, manh mối nào?
Tôi đã nghĩ rằng nó cũng có thể được sử dụng:
ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &
Tùy chọn -f sau ssh cho phép bạn nhập mật khẩu trước khi nó chạy trong nền. Sau đó, bạn có thể có kết quả từng dòng trong một tệp và chạy:
tail -f /tmp/somefile
Sẽ cung cấp cho bạn thêm một chút quyền kiểm soát lệnh "đuôi" hiện tại trong trường hợp bạn muốn sử dụng các tùy chọn đuôi khác để hiển thị đầu ra.
Kiểm tra câu trả lời này trên stackoverflow - nó sử dụng dsh và tail -f.
Parallel ssh có một giải pháp tốt cho việc này:
pssh -t0 -H 'host-01 host-02 host-03 host-04' -P tail -f /var/log/app.log
-t0
vô hiệu hóa thời gian chờ kết nối, nếu không pssh đã đóng kết nối-H '<host>...'
là danh sách các máy chủ để chạy lệnh-P
là để cho phép in tiêu chuẩn của mỗi máy chủtail -f /var/log/app.log
có thể là bất kỳ lệnh nào mà shell từ xa của bạn có thể chạyBạn sẽ nói gì về một cái gì đó như thế này? http://gist.github.com/303175
Chỉ là một giải pháp kỳ lạ, nhưng nó hoạt động!:
Màn hình 1
ssh user@hostname1 "tail -f /var/log/file" > /dev/pts/6
Màn hình 2
ssh user@hostname2 "tail -f /var/log/file" > /dev/pts/6
who am i
và nó sẽ hiển thị cho bạn.)
Bạn có thể kiểm tra dbitail.
Một công cụ Java do tôi tạo, có thể đọc các tệp nhật ký cục bộ và ở xa bằng SSH. Nó khá đơn giản để sử dụng.
Một số giải thích thêm: https://github.com/pschweitz/DBITail/wiki
Chỉ cần tải xuống phiên bản tương ứng với hệ điều hành của bạn, của bản phát hành jar gốc có thể thực thi được trong Thời gian chạy Java của bạn (yêu cầu java 8_40 trở lên):
https://github.com/pschweitz/DBITail/release
Bạn có thể tìm thấy một tài liệu hoàn chỉnh (được nhúng cùng với trang của I Github)
Philippe
hoặc bạn có thể sử dụng màn hình để tạo hai thiết bị đầu cuối và sau đó phân chia chúng.
SSH vào máy chủ đầu tiên bạn muốn theo đuôi tệp nhật ký và trước khi chạy đuôi, nhập màn hình.
Sau đó, đuôi tập tin trên máy chủ này.
CTRL + A, c sẽ tạo một màn hình hoặc cửa sổ mới. Từ cửa sổ mới này ssh vào máy chủ thứ 2 và đuôi tệp ở đó.
Bây giờ để tạo màn hình chia nhỏ
CTRL + A, SHIFT + S, điều này sẽ tạo ra một màn hình chia nhỏ với lớp vỏ hiện tại ở phần trên cùng và phần dưới cùng trống. Để chuyển sang phần dưới cùng và đặt màn hình đầu tiên vào trong đó,
CTRL + A, TAB, điều này sẽ chuyển bạn đến phần dưới cùng. Bây giờ để mang phiên SSH đầu tiên của bạn vào khu vực này:
CTRL + A, "(ký hiệu trích dẫn) và chọn phiên đầu tiên và nhấn enter.
Tôi nhận ra điều này có thể trông giống như rất nhiều môn thể dục dụng cụ, và nó là như vậy, nhưng bạn đã quen với nó một khi bạn sử dụng nó một vài lần.
Đây là một hướng dẫn thực sự tốt hoặc tham khảo nhanh về các lệnh của màn hình: http://www.pixelbeat.org/lkdb/screen.html
Ngoài ra, bạn có thể tạo tệp .screenrc để phần lớn những gì tôi mô tả có thể được tự động hóa khi bạn vào màn hình lần đầu tiên.
Một điều tốt đẹp về điều này là bạn có thể đóng phiên của bạn và tiếp tục nó ở một nơi khác. Ví dụ: bạn đang làm việc và bạn có một số hoạt động giám sát đang diễn ra. Bạn chỉ có thể đóng phiên của mình mà không cần đăng xuất và tiếp tục khi bạn về nhà hoặc đến một địa điểm khác.
Bạn có thể Tail file từ xa bằng cách sử dụng bash và rsync, tôi đang sử dụng nó và đó là một tập lệnh bash tuyệt vời hãy xem hướng dẫn sau đây