在 ubuntu 系统上如何添加自己的脚本,让脚本开机自启

2017-06-22 10:06:51 +08:00
 gzwawj
7054 次点击
所在节点    问与答
21 条回复
l9rw
2017-06-22 10:12:14 +08:00
Baymaxbowen
2017-06-22 10:37:26 +08:00
@l9rw 求网址
sfyumi
2017-06-22 11:04:31 +08:00
@l9rw 这个网址很好啊, 哈哈哈. 已收藏
0asis
2017-06-22 11:06:35 +08:00
有个叫 init.d 的文件夹,具体百度
ETiV
2017-06-22 11:07:53 +08:00
crontab 加一行

@reboot CMD
gzwawj
2017-06-22 11:31:56 +08:00
@0asis 怎么让“ ffmpeg -i rtsp://admin:******@192.168.16.233/h264/ch1/main/av_stream -vcodec copy -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 -f flv rtmp://192.168.16.112:1935/live/hall_2 >/dev/null 2>&1 &
”这条命令加到开机自动运行
0asis
2017-06-22 11:33:58 +08:00
@gzwawj 应该是写一个 shell 然后把 shell 文件加到 init.d
knightdf
2017-06-22 11:37:42 +08:00
加到 /etc/rc.local
gzwawj
2017-06-22 11:38:30 +08:00
@0asis 其他的命令都可以使用这种方法,但是 ffmpeg 这个应用使用这种方法不管用
thecon
2017-06-22 11:41:59 +08:00
早期版本很简单 , 把脚本放 /etc/rc.local 里就行了

16.04 以后就比较麻烦了, 得自己添加个 systemctl 服务
gzwawj
2017-06-22 11:46:38 +08:00
@thecon 有没有参考的文章或者网站
thecon
2017-06-22 11:50:49 +08:00
@gzwawj

vi /etc/systemd/system/尼想要的服务名.service
加入如下内容:
[Unit]
Description=尼的脚本路径 Compatibility
ConditionPathExists=尼的脚本路径

[Service]
Type=forking
ExecStart=尼的脚本路径 start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

脚本要有可执行属性, 路径要绝对路径
然后取保脚本正确执行后最后的代码是:
exit 0

激活服务:
sudo systemctl enable 尼想要的服务名
启动服务器和检查状态:
sudo systemctl start 尼想要的服务名.service
sudo systemctl status 尼想要的服务名.service
gzwawj
2017-06-22 12:00:39 +08:00
@thecon 那开机是不是自动启动啊
thecon
2017-06-22 14:35:46 +08:00
@gzwawj

sudo systemctl enable 尼想要的服务名

这步完了就是开机自动启动了
lxml
2017-06-22 16:43:06 +08:00
@thecon #14 感谢,我搜教程老出来说添加 rc.local,我心说找了半天我 17.04 文件夹都是 rc0.local,果然又又又又被改版坑了。
ahu
2017-06-22 21:59:09 +08:00
一楼这个简直了,,,,😂
ahu
2017-06-22 22:02:41 +08:00
zjp
2017-06-22 23:16:20 +08:00
阮一峰的博客有 systemd 的介绍。顺带吐个槽:doge: 就在刚刚,systemctl enable xxx 一直不成功,排查半小时发现脚本打漏仨字母…
mingyun
2017-06-22 23:35:10 +08:00
@ahu 这个有意思了
b1eberg0n
2017-06-23 00:52:41 +08:00
supervisor

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/370230

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX