GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menjalankan perintah setelah boot?

Tergantung distro.

Jika Anda menggunakan distro turunan Debian, setidaknya ada dua tempat yang tepat, /etc/rc.local dan crontab. Anda dapat menjalankan crontab sebagai root,

   crontab -e

lalu sisipkan baris ini

   @reboot /home/my_name/bin/my_command

di mana my_command adalah file yang dapat dieksekusi (chmod 755 my_command ).

Atau, Anda dapat menempatkan garis seperti ini

   /home/my_name/bin/my_command

di /etc/rc.local, dan ini akan dieksekusi terakhir. Bagaimanapun, tolong ingat Anda menggunakan lingkungan root, bukan milik Anda. Juga karena alasan ini, yang terbaik adalah menggunakan jalur absolut.

Jika Anda menggunakan systemd distro (Arch Linux, Fedora 19,...) opsi pertama (crontab) masih valid, sedangkan opsi kedua (/etc/rc.local) sudah tidak ada lagi. Dalam hal ini, Anda harus mempelajari cara memulai layanan yang akan dijalankan oleh systemctl , tetapi ini mungkin lebih dari yang Anda duga dengan pertanyaan sederhana Anda.


Jika sistem Anda menjalankan versi cron yang support (khusus Vixie cron), bisa menggunakan @reboot dalam tugas cron.

Ini adalah salah satu dari 8 string khusus yang didukungnya.

Mengutip crontab(5) halaman manual (dari sistem Ubuntu 12.04 saya):

Alih-alih lima bidang pertama, salah satu dari delapan string khusus mungkin muncul:

string         meaning
------         -------
@reboot        Run once, at startup.
@yearly        Run once a year, "0 0 1 1 *".
@annually      (same as @yearly)
@monthly       Run once a month, "0 0 1 * *".
@weekly        Run once a week, "0 0 * * 0".
@daily         Run once a day, "0 0 * * *".
@midnight      (same as @daily)
@hourly        Run once an hour, "0 * * * *".

Harap dicatat bahwa startup, sejauh @reboot bersangkutan, adalah waktu ketika cron(8) memulai daemon. Secara khusus, mungkin sebelum beberapa daemon sistem, atau fasilitas lain, dimulai. Ini karena urutan urutan boot mesin.

Ini jauh dari satu-satunya cara untuk menjalankan sesuatu saat boot, tetapi ini merupakan alternatif.


Hampir semua varian Linux (sejak lama sekali) memiliki file /etc/rc.local yang berjalan saat startup - Anda cukup menambahkan perintah ke dalamnya.

Yang mengatakan, Anda bahkan tidak perlu melakukan itu. Cara yang "benar" adalah dengan memodifikasi / menambahkan baris kernel.sysrq =1 ke dalam /etc/sysctl.conf


Linux
  1. Bagaimana Kami Menjalankan Perintah yang Disimpan Dalam Variabel?

  2. Bagaimana saya bisa menjalankan skrip baris perintah Perl one liner dengan benar?

  3. Bagaimana saya bisa mengecualikan direktori dari perintah ls

  1. linux:cara menjalankan perintah di direktori tertentu

  2. Bagaimana cara menjalankan perintah setelah yang sudah berjalan, yang sudah ada selesai?

  3. Bagaimana saya bisa menjalankan pemeriksaan nagios secara manual dari baris perintah?

  1. Bagaimana Menjalankan Perintah Sebagai Administrator Sistem (root)?

  2. Bagaimana Mengintegrasikan Perintah Mv Setelah Menemukan Perintah?

  3. Bagaimana Cara Menjalankan Perintah Di Dalam Wadah Systemd yang Berjalan?