原文網(wǎng)址:Ubuntu20.04--開機(jī)自動運行腳本(命令)--方法/實例_IT利刃出鞘的博客-CSDN博客
簡介
本文介紹Ubuntu20.04如何開機(jī)自動運行命令。(也適用于Ubuntu22.04版本)
新版本方案(20.04版本及之后)
1.創(chuàng)建rc-local.service文件
sudo cp /lib/systemd/system/rc-local.service /etc/systemd/system
然后修改/etc/systemd/system/rc-local.service,在文件最下方添加如下兩行:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
2.創(chuàng)建rc.local文件
創(chuàng)建/etc/rc.local,里邊寫自己想要運行的命令。例:
#!/bin/sh
echo "This is test" > /tmp/my.log
exit 0
給/etc/rc.local加上可執(zhí)行權(quán)限?
sudo chmod +x /etc/rc.local
3.測試
重啟虛擬機(jī)
啟動后可以發(fā)現(xiàn):/tmp下已經(jīng)有了my.log文件,里邊內(nèi)容為:"This is test"。
systemctl命令
啟動服務(wù)
sudo systemctl start rc-local.service
查看服務(wù)狀態(tài)
sudo systemctl status rc-local.service
老版本Ubuntu的方案
下邊的方案在Ubuntu2018及之后的版本無效。
方案1:update-rc.d(2018及之前)
1.創(chuàng)建腳本
新建名為run_all_server.sh,內(nèi)容如下:
#!/bin/bash
# 運行redis服務(wù)
cd /work/server/redis/
nohup redis-server redis.conf > redis.log 2>&1 &
2.添加執(zhí)行權(quán)限
chmod +x run_all_server.sh
3.將腳本放入/etc/init.d路徑下
sudo cp run_all_server.sh /etc/init.d/
4.將腳本添加到啟動腳本
cd /etc/init.d/
update-rc.d run_all_server.sh defaults 90
90的含義:表明優(yōu)先級,越大表示執(zhí)行的越晚。
下邊的命令會失?。?/p>
sudo update-rc.d /etc/init.d/run_all_server.sh defaults 90
錯誤信息:update-rc.d: error: unable to read /etc/init.d//etc/init.d/run_all_server.sh
5.移除腳本
update-rc.d -f run_all_server.sh remove
方案2:修改rc.local(2016及之前)
修改/etc/r.local文章來源:http://www.zghlxwxcb.cn/news/detail-702710.html
#!/bin/sh -e
#
# 在這里寫自己的命令
exit 0
一定要將命令添加在exit 0之前。里面可以直接寫命令或者執(zhí)行Shell腳本文件sh。文章來源地址http://www.zghlxwxcb.cn/news/detail-702710.html
到了這里,關(guān)于Ubuntu20.04--開機(jī)自動運行腳本(命令)--方法/實例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!