到底哪些服務(wù)適合開機(jī)自啟動?是很多Linux運維在工作中會遇到的問題。其實,只要不影響系統(tǒng)及服務(wù)的運行,開多開少也沒關(guān)系。Linux運維人員要明確每項服務(wù)的作用,不用的就不安裝,默認(rèn)安裝時則不開機(jī)自啟動。設(shè)置開機(jī)自啟動服務(wù)的常見方法有哪些?
在正安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,營銷型網(wǎng)站,外貿(mào)網(wǎng)站制作,正安網(wǎng)站建設(shè)費用合理。
1)執(zhí)行命令,然后手動選擇處理的方法
方法1:執(zhí)行ntsysv命令,然后在彈出窗口進(jìn)行設(shè)置。
方法2:執(zhí)行setup命令→system service,然后在彈出窗口中進(jìn)行設(shè)置。
2)通過一行命令或She11腳本設(shè)置
在快速設(shè)置前,先查看默認(rèn)情況下Linux系統(tǒng)開啟的服務(wù)有哪些。如果工作在文本模式3級別,那就只需要查找3級別上開啟的服務(wù)即可。了解了系統(tǒng)在3級別上開啟的服務(wù)后,就可以通過命令快速實現(xiàn)配置了。以下便是幾種通過命令或腳本設(shè)置開機(jī)自啟動的方法。
1:先全關(guān)閉,再開啟需要保留的。
2:一條命令搞定,Shell循環(huán)實現(xiàn)。默認(rèn)情況下需要保留的服務(wù)都已開啟,因此,關(guān)閉3級別文本模式下已開啟但又不需要的服務(wù)就好了。
3:不要Shell循環(huán)語句也一條命令搞定。默認(rèn)情況下要保留的服務(wù)都已開啟,因此,關(guān)閉3級別文本模式下已開啟但又不需要的服務(wù)就好了,不用循環(huán)結(jié)構(gòu)而是利用命令拼出所有要處理的命令字符串,通過bash將其當(dāng)作命令執(zhí)行。
那么到底將哪些服務(wù)作為開機(jī)自啟動服務(wù)合適?但作為一名優(yōu)秀的Linux系統(tǒng)管理員,應(yīng)該遵守最小化原則,盡量不安裝不使用的軟件、不開啟不需要的服務(wù);這樣系統(tǒng)的性能和安全性才是最好的。
啟動直接點開機(jī)鍵就可以。
重啟reboot 就可以了。
關(guān)機(jī),init3、shutdown -f now、halt 都可以關(guān)機(jī)。
重啟服務(wù)services 服務(wù) restart。
停止服務(wù)services 服務(wù) stop。
開始服務(wù)services 服務(wù) start。
服務(wù)狀態(tài)services 服務(wù) status。
擴(kuò)展資料:
常用命令及技巧:通用命令。
1、date :打印或者設(shè)置系統(tǒng)的日期和時間
2、 stty -a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、 Ctrl-Z等)
3、 passwd:用passwd -h查看
4、logout,login: 登錄shell的登錄和注銷命令
5、 more, less, head tail: 顯示或部分顯示文件內(nèi)容
6、 lp/lpstat/cancel, lpr/lpq/lprm: 打印文件
7、 chmod u+x:更改文件權(quán)限
8、 rm -fr dir:刪除非空目錄
9、cp -R dir:拷貝目錄
10、 fg jobid :可以將一個后臺進(jìn)程放到前臺
參考資料來源:百度百科-linux
在ubuntu系統(tǒng)中,如果你使用的apt方式安裝的軟件,可以使用如下方式直接添加服務(wù)的開機(jī)自啟,
如果你是手動解壓縮官網(wǎng)下載的安裝包安裝的建議使用方式二、方式三。
直接使用apt進(jìn)行的軟件安裝,一般情況下系統(tǒng)會默認(rèn)生成開機(jī)自啟的腳本文件,你只需要執(zhí)行固定的命令,即可進(jìn)行服務(wù)的開機(jī)自啟。
其他軟件的服務(wù)自啟同理。
如需移除軟件的服務(wù)自啟
簡稱為service方式
下面以自啟mongo服務(wù)為例
注意修改你的mongo安裝目錄及配置文件路徑
保存退出
簡稱init.d方式
腳本內(nèi)容:
注意修改
換成你自己的目錄位置
這種方式,可以控制你服務(wù)的啟動順序
1.在/etc/init.d目錄下先創(chuàng)建腳本文件,如super.sh
2.在腳本文件中添加以下內(nèi)容
3.增加文件權(quán)限
4.將腳本使用命令添加到啟動腳本中去
5.移除啟動腳本
很多時候,我們需要將一些服務(wù)在Linux系統(tǒng)啟動時即自動運行,省得每次都要去手動啟動一遍,如Redis, MySQL, Nginx等。本文對CentOS與Ubuntu下開機(jī)自啟動的配置方法進(jìn)行整理,供參考查閱。
rc.local是CentOS以前版本的方式,在CentOS7中仍然以兼容的形式存在,雖仍可用,但不推薦(推薦使用systemd service)。
1、編寫需要開機(jī)自啟動的腳本,并添加執(zhí)行權(quán)限
作為測試,上述腳本打印一個時間到/tmp/test.log文件中
2、在/etc/rc.d/rc.local配置文件中添加腳本運行命令(使用絕對路徑)
3、添加/etc/rc.d/rc.local文件的執(zhí)行權(quán)限
在centos7中,/etc/rc.d/rc.local沒有執(zhí)行權(quán)限,需要手動授權(quán)
以上三步,即可使/root/test_rclocal.sh /dev/null 2/dev/null 命令在服務(wù)器系統(tǒng)啟動時自動運行。
1、編寫需要開機(jī)自啟動的測試腳本,并添加執(zhí)行權(quán)限
2、在/etc/rc.d/init.d/目錄下添加一個可執(zhí)行腳本testchkconfig
上述testchkconfig腳本的頭部必須遵循一定的格式 # chkconfig: 2345 90 10, 其中2345指定服務(wù)在哪些執(zhí)行等級中開啟或關(guān)閉,90表示啟動的優(yōu)先級(0-100,越大優(yōu)先級越低),10表示關(guān)閉的優(yōu)先級。執(zhí)行等級包括
3、加入開機(jī)啟動服務(wù)列表
使用 chkconfig --list 可查看當(dāng)前加入開機(jī)自啟動的服務(wù)列表,但如Note部分所述,該命令只顯示SysV服務(wù),不包含原生的systemd服務(wù),查看systemd服務(wù)可使用systemctl list-unit-files命令。
以上三步,即可使/root/test_chkconfig.sh /dev/null 2/dev/null 命令在服務(wù)器系統(tǒng)啟動時自動運行。
chkconfig的其它命令參考
CentOS7的systemd服務(wù)腳本存放在:/usr/lib/systemd/system(系統(tǒng)級)/usr/lib/systemd/user(用戶級)下,以.service結(jié)尾。這里以nginx為例
1、在/usr/lib/systemd/system目錄下創(chuàng)建nginx.service文件
其中Service部分的Type包括如下幾種類型:
2、 開啟開機(jī)自啟動
以上兩步,就將nginx服務(wù)配置成了在操作系統(tǒng)啟動時自動啟動。
其它命令參考
從字面看是PID文件不可讀,查看/var/run/nginx.pid,該文件也確實不存在,查看nginx.conf配置文件,發(fā)現(xiàn)是pid /var/run/nginx.pid;這行配置被注釋掉了, 如果不指定pid文件位置,nginx默認(rèn)會把pid文件保存在logs目錄中。所以出現(xiàn)systemd啟動服務(wù)時找不到pid文件而報錯,將nginx.conf中的pid配置注釋去掉,重啟nginx.service即可。
在Ubuntu18.04中,主要也是以systemd服務(wù)來實現(xiàn)開機(jī)自啟動,systemd默認(rèn)讀取/etc/systemd/system/下的配置文件,該目錄下的一些文件會鏈接到/lib/systemd/system/下的文件。
因此可以在/etc/systemd/system/目錄下面創(chuàng)建一個自啟動服務(wù)配置,以內(nèi)網(wǎng)穿透服務(wù)frp客戶端為例,如
各配置項與CentOS類似。然后將服務(wù)器加到自啟動列表中并啟動服務(wù)
其它更多systemctl命令與CentOS類似。
也可以使用/lib/systemd/system/rc-local.service來執(zhí)行一些開機(jī)需要執(zhí)行的腳本,該文件內(nèi)容為
從Description看它是為了兼容之前版本的/etc/rc.local的,該服務(wù)啟動命名就是/etc/rc.local start,將該文件鏈接到/etc/systemd/system下
創(chuàng)建/etc/rc.local文件,并賦予可執(zhí)行權(quán)限
作者:半路雨歌
鏈接:
原文及更新:
直接在/etc/rc.local(/etc/rc.d/rc.local)文件中添加即可
上面這腳本實際上在使用時出現(xiàn)了問題, /home/neucrack/software/ss/start_ss_local.sh 這個命令始終沒有被執(zhí)行,原因是 /home/neucrack/software/ss/start_kcptun_client.sh 中的命令阻塞了進(jìn)程,導(dǎo)致后面一句始終沒有執(zhí)行,可以將他們分別放到后臺執(zhí)行就行了,如何在后臺執(zhí)行可以看文章最后一部分
也可以自己手動在rc*.d中建立軟連接
桌面系統(tǒng)搜索 啟動 ,打開啟動管理器 添加刪除即可
一般有以下幾種方法:
1)在輸入命令的最前面加上 nohup 命令
如 nohup your_command 這樣命令在你退出后仍然會在后臺執(zhí)行
2) setsid 命令
setsid your_command 該命令的結(jié)果是使你所運行的命令的父進(jìn)程為init,所以只有關(guān)機(jī)該進(jìn)程才會停止
3) (your_command )
就是用括號將你的命令括起來,這樣做也是使命令的父進(jìn)程為init
4) disown
當(dāng)你在命令行下輸入 your_command 后命令就在后臺執(zhí)行了,然后執(zhí)行jobs命令,該命令會列出當(dāng)前正在后臺執(zhí)行的命令。例如輸入命令“top”
然后執(zhí)行"jobs"
輸出結(jié)果是
[1] + Suspended (tty output) top
注意行開頭方括號內(nèi)的數(shù)字,該數(shù)字叫做jobspec,是給當(dāng)前后臺運行的job的編號。這是你只要在命令行下輸入"disown -h 1" 后臺運行的top命令就不會受到hangup信號的影響了。
5)使用 screen 命令
在命令行下輸入screen命令就開啟了一個screen進(jìn)程,它就好像是一個全新的命令運行環(huán)境,在該環(huán)境中你可以像在正常的terminal下那樣執(zhí)行
命令,但是這個screen是不受其父進(jìn)程的hangup信號的影響的,既然screen不受其父進(jìn)程影響,當(dāng)你意外掉線或者退出系統(tǒng)時,在screen
中仍在執(zhí)行的命令仍然會繼續(xù)執(zhí)行。關(guān)于screen命令的使用方法你可以再去查閱相關(guān)資料。
linux設(shè)置開機(jī)自啟動執(zhí)行命令 :
執(zhí)行命令 : 編輯"/etc/rc.local",添加你想開機(jī)運行的命令
運行程序腳本 :然后在文件最后一行添加要執(zhí)行程序的全路徑。
例如,每次開機(jī)時要執(zhí)行一個hello.sh,這個腳本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt ./hello.sh "
注意,你的命令應(yīng)該添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每個文件都是可以看到內(nèi)容的,其實都是一些shell腳本或者可執(zhí)行二進(jìn)制文件 Linux開機(jī)的時候,會加載運行/etc/init.d目錄下的程序,因此我們可以把想要自動運行的腳本放到這個目錄下即可。系統(tǒng)服務(wù)的啟動就是通過這種方式實現(xiàn)的。
簡單的說,運行級就是操作系統(tǒng)當(dāng)前正在運行的功能級別。
例:在Ubuntu/debain里,可以使用update-rc.d命令來把示例腳本:/etc/init.d/proxy安裝到各個runlevel中。
update-rc.d后面有三個參數(shù),分別是/etc/init.d下的腳本名字,默認(rèn)安裝方式,運行的優(yōu)先級。優(yōu)先級的數(shù)字越大,表示越遲運行,這里我們把自己寫的服務(wù)放在最后運行。
如果要卸載隨機(jī)啟動的服務(wù),執(zhí)行
在update-rc.d安裝的時候提示了警告信息,是因為我們寫的/etc/init.d/proxy太簡陋了,只包含了我們想要的命令,連LSB的信息也沒有提供。
只需要對自啟動腳本做一些小改動,就可以避免那個警告了。如下:
到此,一個最簡單的隨機(jī)啟動服務(wù)寫好了,看起來文章挺長的,但其實也就幾個命令而已。 在下次開機(jī)啟動的時候,proxy.py就會以root用戶身份被自動運行。
在/etc/init.d下新建示例腳本文件(startTest.sh),該腳本會啟動/opt/test.sh。內(nèi)容如下:
寫了腳本文件之后事情還沒有完,繼續(xù)完成以下幾個步驟: