Self-starting Linux(or Ubuntu)

由于项目需要,我们需要在Ubuntu 系统中自启动执行脚本,这里我们以Python脚本文件为例给大家做个示范(Bash Tcsh等各种格式的脚本都是可以采用类似的方法)
方法一:将脚本文件放在 /etc/profile中执行
Linux系统的服务器在启动的时候会执行/etc/profile这个启动脚本文件,我们可以在此文件中执行我们要执行的脚本

!/bin/bash
source test.bash

方法二:与第一种方法类似,在/etc/rc.local文件中添加一行
这里我建议在脚本文件的最后添加 & 符号放在后台执行,将输出隐藏在后台。

!/bin/bash
NOW_TIME=`date '+%y_%b_%d_%T'
echo "test profile ${NOW_TIME}" >> /proj/log.test_service 2>&1 &

为何2>&1要写在后面?
因为脚本可能会因为环境的改变而产生错误,这里我们将标准输出和错误输出都输出到log文件中。

方法三: 建立systemctl service
这是我比较推荐的一种方法,虽然这种方法更加复杂,但这种方式可以使得我们更加细致和多样配置脚本的执行方式和时间。在这里我们可以设置是否reload 和什么时候stop 这个service。
下面我将对service的方法进行一个更加详细的介绍。
首先介绍下systemctl 是什么?
systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。
在systemctl 中我们可以增加service添加服务,然后设置成自启动即可。
现在主流的Linux系统都是采用了systemd控制系统服务,更加简单,以前启动服务需要 service xxxx start|stop等。现在需要的是systemctl start|stop xxx。比如我配置的启动tomcat,systemctl start tomcat。十分方便。例如,我要建立一个board.service.
首先,我在/usr/lib/systemd/system目录下新建board.service文件,文件内容如下:
在这里插入图片描述
然后给这个board.service 文件chomod +x权限即可!然后通过 systemctl daemon-reload命令重新加载下系统中所有service文件.
最后通过systemctl start board.service 即可。
设置分为三个部分, 各项详细功能如下表:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
参考信息:参考链接1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值