Điểm:-1

"Ghi nhớ" các lệnh CLI bạn đã chạy cho máy chủ

lá cờ cn

Giả sử bạn có chương trình của bên thứ ba đang chạy trên máy chủ.

Để cấu hình nó, bạn đăng nhập, áp dụng một số lệnh CLI và rời đi.

Mỗi khi bạn làm điều này, bạn cũng sao chép và dán các lệnh vào một số tệp trong git của mình, để trong tương lai, bạn có thể tìm ra những gì đã được định cấu hình và bạn cũng có thể định cấu hình lại máy chủ nếu cần.

Điều này dễ bị lỗi.

Tôi biết rằng mọi người đã phát minh ra những thứ như Con rối để tránh vấn đề này, nhưng AFAIK Puppet dựa vào các mô-đun mà bạn có thể xác định trạng thái và sau đó thực hiện các hoạt động bình thường.Điều này có nghĩa là bạn không có mô-đun Con rối cho mọi thứ và các mô-đun bạn có có thể không thực hiện được tất cả cấu hình mà bạn muốn.

Vì vậy, sau câu chuyện dài này:

Có cách nào thích hợp để "ghi lại" các lệnh bạn đã chạy để bạn có thể chạy chúng và đồng thời ghi lại quá trình chạy không?

lá cờ in
Đó là những gì quản lý cấu hình (như con rối) dành cho. Nếu con rối không phù hợp với bạn, hãy thử các lựa chọn thay thế.
J Fabian Meier avatar
lá cờ cn
@GeraldSchneider Nhưng điều đó không yêu cầu nhà cung cấp hoặc ít nhất là cộng đồng cung cấp một mô-đun cho chương trình này? Hơn nữa, điều đó có thể cũng có nghĩa là bạn không thể chỉ chạy các lệnh từ hướng dẫn mà cần tìm hiểu cách cấu hình hoạt động trong Puppet, Ansible, Chef, bất kỳ mô-đun nào ...
lá cờ in
`Nhưng điều đó không yêu cầu nhà cung cấp hoặc ít nhất là cộng đồng cung cấp một mô-đun cho chương trình này sao?` - Không thực sự. Tất cả đều cung cấp một phương thức để chạy các lệnh tùy ý. Bạn chỉ cần xây dựng công thức, vở kịch, bất cứ thứ gì họ gọi nó. Bạn thậm chí có thể nhận ra rằng một số mô-đun giúp thực hiện các tác vụ dễ dàng hơn so với các công cụ đường ống 5 cho đến khi bạn nhận được kết quả.
J Fabian Meier avatar
lá cờ cn
@GeraldSchneider Nhưng, AFAIK, không phải những vở kịch này dựa trên ý tưởng rằng mọi thứ đều bình thường và có thể chạy lại mọi lúc sao? Điều này nói chung là khó đạt được.
user9517 avatar
lá cờ cn
Thế giới quản lý máy chủ đã chuyển sang. Nếu bạn đang định cấu hình máy chủ, hãy sử dụng các công cụ quản lý cấu hình có sẵn, bạn biết điều đó có ý nghĩa.
J Fabian Meier avatar
lá cờ cn
@ user9517 Trên thực tế, nhiều chương trình dựa trên máy chủ vẫn sử dụng GUI làm công cụ tiêu chuẩn để định cấu hình chúng. Tôi rất vui khi có thể làm mọi thứ trên dòng lệnh. Vì vậy, trong khi tôi nghĩ rằng bạn đúng về các nền tảng phổ biến như v.d. Máy chủ JBoss, nó khác với các công cụ khác.
user9517 avatar
lá cờ cn
Và những công cụ 'gui' đó sẽ lưu trữ cấu hình của chúng trong một tệp ở đâu đó mà công cụ quản lý cấu hình có thể quản lý được. Tôi cũng không nghĩ bạn quản lý máy chủ thực sự.
Điểm:3
lá cờ jp

Nếu bạn muốn làm theo cách cũ, bạn có thể sử dụng kịch bản(1) để ghi lại phiên của bạn.

lá cờ cn
Bob
Bây giờ đó là trường học cũ. Vì tò mò, điều gì xảy ra khi bạn sử dụng `sudo -i` hoặc `sudo su -`, điều gì xảy ra với các đặc quyền nâng cao cũng được ghi lại?
lá cờ jp
@Bob, vâng, nó sẽ ghi lại mọi thứ, bao gồm các trình bao phụ đặc quyền với `sudo`/`su` và thậm chí cả các chương trình tương tác như `vi`. Nhưng với các chương trình tương tác, đầu ra tập lệnh hầu như không thể đọc được, vì vậy bạn sẽ cần sử dụng `scriptreplay` (yêu cầu thời gian được ghi lại bởi `script`).
Điểm:0
lá cờ cn
Bob

Vấn đề mà bạn mô tả chính xác là lý do tại sao mọi người tại một thời điểm nào đó quyết định rằng họ không còn muốn dựa vào các lệnh thủ công và quản trị viên sử dụng các công cụ tương tác (GUI).

Bạn muốn có thể lặp lại những gì bạn đã làm theo cách có cấu trúc hơn là tuân theo danh sách kiểm tra có thể chưa được cập nhật sau đợt phát hành/thay đổi/khủng hoảng mới nhất.

Và mặc dù điều đó có vẻ là một vấn đề đơn giản và cách tiếp cận đầu tiên của một danh sách dài tất cả các lệnh được đưa ra để đạt được trạng thái hiện tại có vẻ là một ý tưởng hay mà bạn có thể nhận ra sau khi suy nghĩ kỹ, rằng danh sách đó cũng không phải là giải pháp tốt nhất. Danh sách đó có thể cũng chứa các bước như, thử, lỗi, thất bại, hoàn nguyên và thử cách khác, đánh máy, lặp lại, v.v. mà bạn không nhất thiết muốn hoặc không cần lặp lại..

Wikipedia cung cấp một bản tóm tắt hay về một số công cụ mà mọi người đã tạo để giải quyết vấn đề đó: https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_manager_software

Tất cả đều có đường cong học tập và có vẻ phức tạp hơn những gì bạn nghĩ mình cần, nhưng hãy tin tôi, hãy đầu tư thời gian và công sức và bạn sẽ thấy tại sao nhiều trong số chúng được sử dụng rộng rãi để giải quyết loại vấn đề mà bạn hiện đang gặp phải.

J Fabian Meier avatar
lá cờ cn
Tôi thực sự chỉ muốn danh sách dài các lệnh. Đây là những điều được ghi trong sách hướng dẫn. Viết một playbook, công thức bất cứ điều gì có nghĩa là tôi thêm một lớp phức tạp: Tôi có thể không thể chỉ chạy các lệnh từ hướng dẫn vì chúng có thể không bình thường, thay vào đó tôi phải dựa vào các playbook cộng đồng (mà tôi có thể tin tưởng hoặc không làm điều đúng đắn) hoặc tự mình viết một số nội dung.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.