Cách tạo tập lệnh khởi động init.d


8

Tôi chỉ muốn chạy một lệnh rất đơn giản khi khởi động. Làm thế nào tôi có thể làm điều đó? Tôi đã tìm kiếm trên google và nó có các ví dụ rất phức tạp, nhưng điều tôi cần chỉ là chạy tập lệnh này khi khởi động. Làm thế nào tôi có thể làm điều đó?

Kịch bản

./init.d/opscenter-agent start

Câu trả lời:


8

Nếu bạn muốn làm điều này khi khởi động hệ thống (trái ngược với khi bạn đăng nhập vào máy tính của mình), hãy đặt các lệnh bạn muốn chạy /etc/rc.local.

Xem [Ubuntu] Thực thi tập lệnh khi khởi động và tắt máy .


OP đặc biệt yêu cầu một tập lệnh init.d, điều này thực sự không. Đó là một cách tiếp cận có liên quan, chủ yếu là do cách chúng ta đã làm 30 năm trước, và ít nhiều không bao giờ thực hiện được nhờ vào các cách tiếp cận mới hơn như init.d. (đến lượt nó không được ủng hộ / systemd's / etc / init).
mc0e

3

Nếu tập lệnh không cần chạy bằng root, bạn có thể làm điều này:

1) Mở "Tùy chọn ứng dụng khởi động" ( Alt+ F2và dán gnome-session-propertiesvà nhấn Enter),

2) Bấm "Thêm" và chọn tập lệnh của bạn:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


Nếu bạn không sử dụng môi trường đồ họa, bạn có thể đặt các lệnh ngay trước dòng exit 0trong tệp này : /etc/rc.local. (Để chỉnh sửa nó chỉ cần dán tại thiết bị đầu cuối sudo nano /etc/rc.local.


Không tốt vì tôi đang sử dụng Putty để quản lý máy chủ Debian, không có GUI :)
sed

Bạn có thể đặt các lệnh (hoặc một liên kết đến tập lệnh của bạn) trong tệp này:/etc/rc.local
desgua

Đây là một thay thế cho tập lệnh init.d mà OP yêu cầu.
mc0e

1

Cách tiếp cận /etc/rc.local sẽ 'chạy một lệnh rất đơn giản khi khởi động', nhưng nó không phải là cách tiếp cận tập lệnh init.d và theo nhiều cách khác nhau. (Điều đó có thể không quan trọng, tùy thuộc vào mục đích của bạn).

Không giống như các tập lệnh init.d, các lệnh của RC.local không cung cấp giao diện chuẩn để bắt đầu và dừng quá trình và chúng không cung cấp nhiều khả năng ảnh hưởng khi trong quá trình khởi động mà chúng được chạy. Bạn có thể thấy trong /etc/init.d/rc.localkịch bản lệnh này được chạy sau mọi thứ khác ( Required-Start: $all).

Nếu một tập lệnh init.d thực sự là những gì bạn muốn, thì thường chỉ cần lấy một tập lệnh hiện có, sao chép nó và chỉnh sửa nó hoạt động tốt, mặc dù một số tập lệnh hiện có có độ phức tạp hơn bạn muốn. Vì đó là cách mà hầu hết các tập lệnh init.d bắt đầu, ubfox cung cấp /etc/init.d/sk MP cho mục đích này.

Cũng đáng xem:

  • /etc/init.d/motdlà một ví dụ tối thiểu chạy một cái gì đó khi khởi động, nhưng với Required-Startcài đặt tham số khi nó sẽ xảy ra.
  • /etc/init.d/cronlà một điểm khởi đầu đơn giản cho một quy trình daemon (cung cấp hoặc nhận parse_environmentchức năng mà bạn có thể không cần).
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.