Bagaimana cara mengatur skrip yang akan dijalankan saat memulai di FreeBSD?

10

Saya menggunakan FreeBSD 9 dan saya ingin membuat skrip yang akan memeriksa apakah kabel Ethernet terhubung, dan jika demikian, hubungkan ke sana. Saya ingin mengaturnya agar berjalan setiap kali mesin dinyalakan, atau setiap kali saya masuk. Saya melihat buku UNIX saya (Ini sudah ketinggalan zaman, dan untuk UNIX umum, tidak khusus FreeBSD) dan dikatakan bahwa saya dapat menggunakan crontab, tapi saya hanya bisa melakukan ini untuk membuat hal-hal berjalan pada waktu-waktu tertentu, bukan ketika itu dimulai. Bisakah seseorang tolong beri tahu saya bagaimana saya bisa mendapatkannya?

pengguna23809
sumber

Jawaban:

11

FreeBSD cronmemahami @rebootarahan waktu, sehingga Anda memang dapat cronmenjalankan skrip saat memulai. Alih-alih bidang 5 waktu yang biasa, crontabentri Anda mungkin terlihat seperti ini:

@reboot /path/to/script

Jika Anda ingin juga untuk menjalankan cek ketika Anda login, menambahkan panggilan ke script di file mengeksekusi shell Anda setelah login - ini bisa menjadi, tergantung pada shell Anda, ~/.login, ~/.bash_login, dll

D_Bye
sumber
4

Pada FreeBSD 11 untuk ARMv6 (Raspberry Pi), saya tidak bisa mendapatkan @rebootarahan crontab bekerja untuk pengguna root, dan metode "tambahkan skrip ke /etc/rc.localfile" telah digantikan oleh mekanisme yang secara otomatis menjalankan skrip yang berlokasi di /usr/local/etc/rc.d/.

Dengan kata lain, untuk menjalankan skrip saat boot pada FreeBSD 11 (atau 10?) Dan kemungkinan lebih baru, letakkan skrip shell yang dapat dieksekusi dengan ekstensi .sh di folder ini agar dieksekusi saat boot:

/usr/local/etc/rc.d/

Anda mungkin perlu membuat rc.dfolder jika tidak ada.

Lihat http://www.defcon1.org/html/rc-local.html untuk detailnya.

Steve HHH
sumber
3

Solusi lain untuk skrip startup adalah /etc/rc.local.

melengkung
sumber
1
Meskipun man rcmengatakan "Biasanya, mekanisme /usr/local/etc/rc.d/ digunakan alih-alih rc.local hari ini tetapi jika Anda ingin menggunakan rc.local, masih didukung. Dalam hal ini, ia harus mencari / etc / rc.conf dan mengandung tambahan kode startup untuk sistem Anda. Cara terbaik untuk menangani rc.local, bagaimanapun, adalah dengan memisahkannya menjadi skrip rc.d / style dan menempatkannya di bawah / usr / local / etc / rc .d /. "
zezollo