一、修改 /etc/rc.d/rc.local 文件
/etc/rc.d/rc.local 用于用戶自定義開機啟動程序,因此可以往里寫開機要執行的命令或腳本。
1、設置 rc.local 的可執行權限
# chmod +x /etc/rc.d/rc.local
2、創建待執行的腳本
# cat /home/test.sh #!/bin/bash echo "hello world" >> /home/out.txt date >> /home/out.txt
3、設置腳本的可執行權限
# chmod +x /home/test.sh
4、把腳本放到 /etc/rc.d/rc.local 尾部
# cat /etc/rc.d/rc.local ... /home/test.sh
5、重啟系統使之生效
# reboot
6、查看日志文件判斷腳本是否執行
# cat /home/out.txthello worldThu Dec 30 20:45:00 CST 2021
二、使用 crontab 方式
crond 是 linux 下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與 windows 下的計劃任務類似,當安裝完成操作系統后,默認會安裝此服務 工具,并且會自動啟動 crond 進程,crond 進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。因此我們可以使用 crondtab 命令創建一個任務,讓該任務在重啟時進行執行。
# crontab -e//進入編輯,輸入如下行@reboot /home/test.sh//重啟設備# reboot //查看日志# cat /home/out.txthello worldThu Dec 30 21:09:03 CST 2021
三、使用 systemd 服務
Systemd 服務是一種以 .service 結尾的單元(unit)配置文件,用于控制由 Systemd 控制或監視的進程。簡單說,用于后臺以守護進程(daemon)的形式運行程序。systmd service 文件一般放在/etc/systemd/system/文件夾中。
//在/etc/systemd/system/下創建一個服務,如下# vim ser.service//[Unit] 區塊:啟動順序與依賴關系。[Unit]//Description字段給出當前服務的簡單描述Description=Run a Custom Script at StartupAfter=default.target//Service區塊定義如何啟動當前服務[Service]//ExecStart字段:定義啟動進程時執行的命令ExecStart=/home/test.sh//Install區塊,定義如何安裝這個配置文件,即怎樣做到開機啟動[Install]//WantedBy字段:表示該服務所在的 Target,Target的含義是服務組,表示一組服務WantedBy=default.target//更新服務配置文件,并使能服務# systemctl daemon-reload# systemctl enable ser.service//重啟系統# reboot
延伸閱讀1:Linux特點
開源免費完全兼容 POSIX1.0 標準多用戶多任務良好的界面支持多種平臺