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