Làm cách nào để đặt tập lệnh mà nó sẽ chạy khi khởi động trong FreeBSD?


10

Tôi đang sử dụng FreeBSD 9 và tôi muốn tạo một tập lệnh sẽ kiểm tra xem cáp Ethernet có được kết nối hay không và nếu có, hãy kết nối với nó. Tôi muốn cài đặt nó để nó chạy bất cứ khi nào máy khởi động hoặc bất cứ khi nào tôi đăng nhập. Tôi đã xem cuốn sách UNIX của mình (Nó khá lỗi thời và dành cho UNIX nói chung, không phải FreeBSD) và nó nói rằng tôi có thể sử dụng crontab, nhưng tôi chỉ có thể làm điều này để khiến mọi thứ chạy vào những thời điểm nhất định, không phải khi nó khởi động. Ai đó có thể vui lòng cho tôi biết làm thế nào tôi có thể nhận được tại đây?

Câu trả lời:


11

FreeBSD cronhiểu được @rebootchỉ thị thời gian, vì vậy bạn thực sự có thể thực cronthi tập lệnh của mình khi khởi động. Thay vì 5 lĩnh vực thời gian thông thường, bạn crontabnhập có thể trông như thế này:

@reboot /path/to/script

Nếu bạn cũng muốn chạy kiểm tra khi bạn đăng nhập, thêm một cuộc gọi đến kịch bản trong các tập tin thực thi shell của bạn khi đăng nhập - điều này có thể, tùy thuộc vào shell của bạn, ~/.login, ~/.bash_loginvv


4

Trên FreeBSD 11 cho ARMv6 (Raspberry Pi), tôi không thể sử dụng lệnh crontab @rebootđể làm việc cho người dùng root và phương thức "thêm tập lệnh vào /etc/rc.localtệp" đã được thay thế bởi một cơ chế tự động chạy các tập lệnh nằm trong /usr/local/etc/rc.d/.

Nói cách khác, để chạy tập lệnh khi khởi động trên FreeBSD 11 (hoặc 10?) Và có thể mới hơn, hãy đặt tập lệnh shell thực thi với phần mở rộng .sh trong thư mục này để thực thi khi khởi động:

/usr/local/etc/rc.d/

Bạn có thể cần tạo rc.dthư mục nếu nó không tồn tại.

Xem http://www.defcon1.org/html/rc-local.html để biết chi tiết.


3

Một giải pháp khác cho kịch bản khởi động sẽ là /etc/rc.local.


1
Mặc dù man rccho biết "Thông thường, cơ chế /usr/local/etc/rc.d/ được sử dụng thay vì RC.local ngày nay nhưng nếu bạn muốn sử dụng RC.local, nó vẫn được hỗ trợ. Trong trường hợp này, nó nên nguồn / v.v / RC.conf và chứa mã khởi động tùy chỉnh bổ sung cho hệ thống của bạn. Tuy nhiên, cách tốt nhất để xử lý RC.local là tách nó ra thành các tập lệnh RC.d / style và đặt chúng dưới / usr / local / etc / rc .d /. "
zezoche
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.