上一篇
SSH chạy lệnh và chạy nó trong nền bằng cách sử dụng nohup và exit
Trong quản lý máy chủ từ xa và hoạt động hàng ngày, chúng ta thường cần thực hiện các lệnh hoặc tập lệnh chạy dài có thể cần chạy liên tục trong nền, ngay cả khi chúng ta thoát khỏi phiên SSH. Trong trường hợp này, SSH (Secure Shell Protocol) và lệnh nohup là những bàn tay tốt nhất của chúng tôi. Bài viết này sẽ hướng dẫn bạn cách chạy các lệnh bằng SSH và sử dụng nohup để làm cho chúng chạy liên tục trong nền và tiếp tục ngay cả sau khi thoát khỏi phiên SSH.
1. Kết nối từ xa SSH với máy chủ
Đầu tiên, chúng ta cần kết nối với máy chủ từ xa thông qua SSH. Điều này có thể được thực hiện bằng cách mở giao diện thiết bị đầu cuối hoặc dòng lệnh và sau đó sử dụng các lệnh SSH. Định dạng lệnh SSH cơ bản như sau:
''CSS
Tên người dùng SSH @ Địa chỉ máy chủ
```
Chẳng hạn:
''CSS
sshadmin@192.168.1.1
```
Sau đó, bạn sẽ cần nhập mật khẩu để đăng nhập vào tài khoản của mình. Khi bạn đã đăng nhập thành công, bạn có thể bắt đầu chạy các lệnh của mình.
2. Sử dụng nohup để chạy lệnh trong nền
Lệnh nohup cho phép bạn chạy một lệnh trong nền và giữ cho nó chạy sau khi bạn thoát khỏi phiên SSH. Định dạng cơ bản của lệnh này như sau:
''Ầm ầm
lệnh nohup&
```
Biểu tượng "&" ở đây chỉ ra rằng lệnh đang chạy trong nền. Ví dụ: nếu bạn muốn chạy tập lệnh có tên "myscript.sh" trong nền, bạn có thể thực hiện việc này:
''Ầm ầm
nohup./myscript.sh&
```
Thao tác này sẽ bắt đầu tập lệnh trong nền và sẽ tiếp tục chạy ngay cả khi bạn thoát khỏi phiên SSH. Lệnh nohup cũng tạo một tệp có tên nohup.out để lưu trữ đầu ra của tập lệnh. Bạn có thể sử dụng các lệnh khác để xem nội dung của tệp này, chẳng hạn như "cat" hoặc "less". Nếu bạn không muốn ghi đầu ra vào tệp, bạn có thể sử dụng biểu tượng ">" để chuyển hướng đầu ra đến một tệp trống (ví dụ: /dev/null). Chẳng hạn:
''Ầm ầm
nohup./myscript.sh>/dev/null2>&1&
```
Điều này sẽ chuyển hướng cả đầu ra tiêu chuẩn và đầu ra lỗi đến một tệp trống. Bằng cách này, bạn có thể đảm bảo rằng thiết bị đầu cuối của bạn sẽ không bị can thiệp bởi bất kỳ đầu ra nào. Điều quan trọng cần lưu ý là lệnh "nohup" nên được sử dụng trước lệnh chạy trong nền. Đó là, "nohup" nên đứng trước "&". Điều này là do "&" được sử dụng để yêu cầu shell chạy lệnh trong nền và "nohup" được sử dụng để yêu cầu shell tiếp tục chạy lệnh sau khi bạn thoát. Vì vậy, "nohup" nên đứng trước "&". Nếu bạn đảo ngược thứ tự của cả hai, thì "nohup" sẽ không hoạt động. Vì vậy, hãy chắc chắn rằng bạn làm theo đúng thứ tự. Nhìn chung, các công cụ "ssh", "nohup" và "&" rất hữu ích khi bạn cần chạy các lệnh hoặc tập lệnh dài trên máy chủ từ xa. Chúng cho phép bạn dễ dàng chạy các lệnh trong nền và tiếp tục chạy ngay cả khi bạn thoát khỏi phiên SSH của mình. Điều này rất hữu ích cho việc quản lý máy chủ và hoạt động hàng ngày. Đó là tất cả về cách chạy các lệnh bằng SSH và sử dụng nohup để giữ cho chúng chạy trong nền.