gzwawj
V2EX  ›  问与答

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

  •  
  •   gzwawj · Jun 22, 2017 · 8245 views
    This topic created in 3431 days ago, the information mentioned may be changed or developed.
    21 replies  •  2017-06-23 06:55:21 +08:00
    Yishanshan
    Yishanshan
    Jun 22, 2017
    2
    @l9rw 求网址
    sfyumi
    sfyumi
    Jun 22, 2017
    3
    @l9rw 这个网址很好啊, 哈哈哈. 已收藏
    0asis
    0asis
    Jun 22, 2017 via iPhone
    4
    有个叫 init.d 的文件夹,具体百度
    ETiV
    ETiV
    Jun 22, 2017 via iPhone
    5
    crontab 加一行

    @reboot CMD
    gzwawj
    gzwawj
    OP
    Jun 22, 2017
    6
    @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
    0asis
    Jun 22, 2017 via iPhone
    7
    @gzwawj 应该是写一个 shell 然后把 shell 文件加到 init.d
    knightdf
    knightdf
    Jun 22, 2017
    8
    加到 /etc/rc.local
    gzwawj
    gzwawj
    OP
    Jun 22, 2017
    9
    @0asis 其他的命令都可以使用这种方法,但是 ffmpeg 这个应用使用这种方法不管用
    thecon
    thecon
    Jun 22, 2017
    10
    早期版本很简单 , 把脚本放 /etc/rc.local 里就行了

    16.04 以后就比较麻烦了, 得自己添加个 systemctl 服务
    gzwawj
    gzwawj
    OP
    Jun 22, 2017
    11
    @thecon 有没有参考的文章或者网站
    thecon
    thecon
    Jun 22, 2017❤️3
    12
    @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
    gzwawj
    OP
    Jun 22, 2017
    13
    @thecon 那开机是不是自动启动啊
    thecon
    thecon
    Jun 22, 2017
    14
    @gzwawj

    sudo systemctl enable 尼想要的服务名

    这步完了就是开机自动启动了
    lxml
    lxml
    Jun 22, 2017
    15
    @thecon #14 感谢,我搜教程老出来说添加 rc.local,我心说找了半天我 17.04 文件夹都是 rc0.local,果然又又又又被改版坑了。
    ahu
    ahu
    Jun 22, 2017
    16
    一楼这个简直了,,,,😂
    ahu
    ahu
    Jun 22, 2017
    17
    zjp
    zjp
    Jun 22, 2017 via Android
    18
    阮一峰的博客有 systemd 的介绍。顺带吐个槽:doge: 就在刚刚,systemctl enable xxx 一直不成功,排查半小时发现脚本打漏仨字母…
    mingyun
    mingyun
    Jun 22, 2017
    19
    @ahu 这个有意思了
    b1eberg0n
    b1eberg0n
    Jun 23, 2017 via iPhone
    20
    supervisor
    loading
    loading
    Jun 23, 2017 via Android
    21
    ubuntu wiki 挂了?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2060 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 12:02 · PVG 20:02 · LAX 04:02 · JFK 07:02
    ♥ Do have faith in what you're doing.