如何在Linux中啟動時新增服務
眾所周知 可以在啟動時新增服務。例如,如果要在啟動時新增 Apache Httpd 服務,你可以在 chkconfig 和 systemctl 的幫助下完成此操作。 |
有時你需要在啟動時新增自定義 、 或服務,該怎麼做?你可以使用以下三種方法來做到。
在本文中,我們將透過示例向你展示如何使用這些方法。
傳統上,/etc/rc.local 檔案是在切換到多使用者執行級別的過程結束時,在所有正常的計算機服務啟動之後執行的。
此方法也適用於 systemd 系統。
你需要將你的指令碼位置新增到 /etc/rc.d/rc.local 檔案中以在啟動時執行。
確保該檔案有執行許可權:
# chmod +x /etc/rc.d/rc.local
作為演示,我們將建立一個簡單的示例指令碼。你可以根據需要建立任何指令碼。
# vi /opt/scripts/run-script-on-boot.sh #!/bin/bash date > /root/on-boot-output.txt hostname > /root/on-boot-output.txt
指令碼完成後,設定可執行許可權:
# chmod +x /opt/scripts/run-script-on-boot.sh
最後,將該指令碼新增到檔案底部:
# vi /etc/rc.d/rc.local /opt/scripts/run-script-on-boot.sh
重啟系統進行檢查:
# reboot
cron 在特定時間在後臺自動執行計劃的作業。可以在 cron 任務中使用特殊的字串 @reboot 來完成。@reboot 是一個特殊的字串,它允許使用者在啟動時執行任何命令或指令碼。
此示例在系統重啟時執行 /opt/scripts/run-script-on-boot.sh 檔案。我們將使用與上面相同的指令碼。
為此,只需在 crontab 檔案中新增以下條目:
# crontab -e @reboot /opt/scripts/run-script-on-boot.sh
重啟系統進行檢查:
# reboot
此方法僅適用於 systemd 系統。該方法非常簡單。
我們將使用上面相同的指令碼進行演示。
為此,你需要建立一個 systemd 啟動指令碼並將其放在 /etc/systemd/system/ 目錄中。
這是我們的示例 systemd 啟動單元指令碼:
# vi sample-on-boot-script.service [Unit] Description=Run a Custom Script at Startup After=default.target [Service] ExecStart=/opt/scripts/run-script-on-boot.sh [Install] WantedBy=default.target
將單元指令碼放置在 systemd 所在位置後,執行以下命令更新 systemd 配置檔案並啟用服務:
# systemctl daemon-reload # systemctl enable sample-on-boot-script.service
重啟系統進行檢查:
# reboot
如果你想在後臺執行指令碼,你需要在最後加上 & 符號
/Path/To/My_Script &
如果你想以不同使用者執行命令,使用以下格式:
su - $USER -c /Path/To/My_Script
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2698401/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在linux新增服務Linux
- 如何在linux下開啟FTP服務LinuxFTP
- 如何在 Linux 中搭建 FTP 服務LinuxFTP
- 在Linux中,如何啟動、停止或重啟服務?Linux
- 在linux中無法啟動mysqld 服務LinuxMySql
- linux 下啟動服務Linux
- systemctl 命令在 Linux 中啟動、停止和重新啟動服務Linux
- 在Linux中,如何管理服務的自啟動?Linux
- 控制linux啟動的服務Linux
- Linux使用Ambari啟動服務啟動失敗Linux
- Kali Linux常用服務配置教程啟動DHCP服務Linux
- linux中新增開機自啟服務的方法Linux
- Window中Oracle服務啟動時並不啟動例項的兩種方法Oracle
- windows下啟動服務時不啟動oracle例項WindowsOracle
- linux系統下Apache服務啟動時80埠報錯LinuxApache
- 如何在本地計算機新增svn服務計算機
- Linux 中設定服務自啟動的三種方式Linux
- 如何在 Linux 中查詢服務的埠號Linux
- Linux 如何啟動mail郵件服務LinuxAI
- Linux怎麼知道服務是否啟動?Linux
- Linux下chkconfig命令詳解即新增服務以及兩種方式啟動關閉系統服務Linux
- 如何在K8S上快速啟動Java服務 - DukesletterK8SJava
- [Linux]如何給Nginx新增服務LinuxNginx
- Linux伺服器---設定服務啟動Linux伺服器
- Linux如何透過命令重新啟動服務?Linux
- Linux檢視啟動的服務的埠Linux
- 在linux上關閉不必要的服務加快啟動時間Linux
- 如何在cmd中停止mysql服務MySql
- 如何在Linux下部署Samba服務?LinuxSamba
- linux中透過systemctl建立服務並實現開機啟動Linux
- 如何在 Linux 啟動時自動執行命令或指令碼Linux指令碼
- oracle手動啟動服務Oracle
- gitblit 服務啟動不了Git
- 有人知道在corba中如何同時啟動幾個不同的命名服務ORB
- linux停止和檢視啟動服務的命令Linux
- Linux Redis 服務設定開機自啟動LinuxRedis
- Linux MySQL 服務設定開機自啟動LinuxMySql
- Linux nohup 啟動服務且不輸出日誌Linux