Làm thế nào tôi có thể ghi lại các lệnh Linux?


9

Có cách nào để ghi lại các lệnh Linux tôi sử dụng và sử dụng lại chúng trên máy khác hoặc trong trường hợp tôi muốn cài đặt lại máy không?

Trong ví dụ ghi lại cách tôi thiết lập NginX, PHP và quyền trong môi trường phòng thí nghiệm của tôi và sau đó lặp lại các lệnh chính xác trên máy triển khai của tôi?

Câu trả lời:


19

Có vẻ như tôi muốn kịch bản (1) .

Nó cho phép bạn ghi lại và phát lại các phiên cuối.

Mặt khác, nếu bạn đang cố gắng tự động hóa các thiết lập, hãy xem xét việc quản lý cấu hình, như con rối .


Cảm ơn cho Puppet, nó có vẻ tốt. Tôi sẽ đọc thêm về nó.
Jonas

1
+1 cho Con rối. Đây là một cách tốt hơn để đi hơn là chỉ đơn giản là ghi lại các lệnh shell.
EEAA

+1. cengine là đối thủ cạnh tranh với Puppet, cũng vậy
gWaldo

2

Hai cách tôi có thể nghĩ ra khỏi đỉnh đầu:

  • Sử dụng lịch sử lệnh dựng sẵn

  • Làm mọi thứ trong một phiên màn hình và cho phép đăng nhập


2

Bash ghi lại các lệnh trong một tệp có tên ~ / .bash_history. Điều này hoạt động nếu bạn làm mọi thứ thông qua một dòng lệnh và trong một cửa sổ lệnh.

Mặc dù được cảnh báo, nó giới hạn kích thước của tệp đó trong các lệnh 1000 (theo mặc định) gần đây nhất.


0

thử thứ này đi

script / tmp / it356658 - $ (uname -n) .out

# ngày


Anh ta đang hướng scriptđầu ra của một tập tin cụ thể. Việc đặt tên là không bình thường, nhưng có lẽ được trích xuất từ ​​một tập lệnh shell lớn hơn.
mctylr

1
Điều $(uname -n)này được giải thích bởi dòng lệnh để chạy unamelệnh với -ncờ để in tên máy chủ của hệ thống.
mctylr

0

Tôi nghĩ bạn cũng có thể sử dụng tự động khai thác cho nhiệm vụ này.


Tôi đã nhận được "lệnh không tìm thấy" trong Ubuntu khi tôi thử nó.
Jonas

1
Tôi nghĩ rằng nó sẽ là một phần của gói Expect có thể không được cài đặt theo mặc định. Tham chiếu: linuxjournal.com/article/3065
mctylr

0

Thông thường tôi sử dụng một lệnh như history > ~/tmp/hhđể lưu một tập tin lịch sử. Sau đó, tôi sử dụng vi, nhảy xuống dưới cùng với lệnh G và sau đó tìm kiếm lên trên cho đến khi tôi tìm thấy phần gần điểm nhập hữu ích vào tập lệnh. Từ đó tôi thu gọn các lslệnh ngoại lai , kết hợp một loạt các số gia tăng cdvào các thư mục, thêm nhận xét và bắt đầu tìm ra phần nào cần phải là đối số, những thứ có thể phải là cài đặt môi trường và những thứ phải được mã hóa cứng. Tôi thêm rất nhiều ý kiến. Đôi khi tôi "punt" trên các phần của việc tự động hóa nó và chỉ cung cấp cho người dùng một số hướng dẫn (đi tìm cài đặt này, sshđể foo và ..., uncomment blah từ tệp này và chuyển nó sang blarg) hoặc echomột URL ... và một dấu nhắc chuỗi như: 'Foo được cấu hình và thoát>'

(Khi bạn chỉnh sửa tệp tự động ... Tôi khuyên bạn nên thêm mã hướng dẫn vào tệp, dưới dạng nhận xét và sử dụng một cái gì đó như chuyển đổi dòng lệnh vi + để đặt con trỏ của trình soạn thảo ở gần cuối tệp, ở trên cùng hướng dẫn của bạn. Ví dụ: với 5 dòng văn bản hướng dẫn ( ví dụ tài liệu ở đây ) bạn sẽ thêm '+$-5'vào vidòng lệnh, trước tên tệp. ( $-5là một excâu thần chú cũ để giải quyết dòng cuối cùng của tệp, trừ năm dòng; công tắc tương đối khó hiểu +để vichấp nhận bất kỳ ex... : lệnh ... làm đối số).

Một thủ thuật khác ... giả sử bạn làm hầu hết công việc của bạn từ một thiết bị đầu cuối X Hệ thống Windowing ( xterm, konsole, gnome-terminal, vv) sau đó giữ một trình duyệt mở trên một số trang wiki như bạn đi. Cắt và dán các lệnh, đầu ra, đoạn trích của tệp văn bản và ghi chú lại khi bạn đi. (Điều này chủ yếu giả định rằng bạn chủ yếu làm việc trên các máy chủ sshcủa bạn từ máy trạm, máy tính để bàn, máy tính xách tay hoặc bất cứ thứ gì).

Tiết kiệm sớm và thường xuyên.

Tạo các trang wiki mới cho các quy trình hoặc giai đoạn khác nhau. Sau đó liên kết chúng lại với nhau và liên kết với bất kỳ tài liệu tham khảo nào trên mạng. (Bạn biết đấy, tất cả các trang Google bạn đã sử dụng mỗi khi bạn gặp khó khăn tại bất kỳ thời điểm nào).

Một số tài liệu HOWTO tốt nhất của tôi đã được tạo theo cách này.

Nếu bạn làm đúng thì bạn có thể có được công việc theo cách cũ, bằng cách ủy thác cho thành viên nhóm thiếu niên ... hoặc thực tập sinh háo hức. :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.