首页 > 系统相关 >linux设置开机自启动

linux设置开机自启动

时间:2023-07-11 12:12:29浏览次数:38  
标签:服务 service etc linux 开机 init test rc 自启动

方式一:使用init.d启动服务脚本

在root用户下执行以下操作

  1. 进入/etc/init.d/目录
  2. 新建脚本文件test.sh,并编辑其内容
  3. 为脚本文件增加执行权限chmod +x /etc/init.d/test.sh

init.d介绍
/etc/init.d是/etc/rc.d/init.d的软链接,是用来放服务脚本的,当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别。
而由于Ubuntu系统中没有/etc/rc.d/init.d这个目录(CentOS中有该目录),所以,为了保持同一种服务在CentOS和Ubuntu使用的统一性,将服务脚本都放在/etc/init.d目录下

方式二:制作Linux服务并设置开机自启动

在root用户下执行以下操作

  1. 进入/etc/systemd/system目录
  2. 新建service文件test.service,并编辑其内容
  3. 为service文件增加执行权限chmod +x /etc/systemd/test.service
  4. 重新加载配置文件systemctl daemon-reload
  5. 启动/停止/重启该服务systemctl start/stop/restart test.service
  6. 设置/取消开机自启动systemctl enable/disable test.service

service文件介绍
在Linux系统中,每个service服务都需要一个对应的service文件
linux下面有两个地方可以放service文件,一个是/lib/systemd/system目录,这个是放系统服务的地方
一般情况下如果是我们自己建立的服务,需要放在/etc/systemd/system文件夹下面,以和系统服务分开

如何编辑service文件内容
以commvault的服务为例

[Unit]
Description=commvault Service
Requisite=cvunlock.service
After=cvunlock.service

[Service]
EnvironmentFile=/opt/commvault/Base/Temp/Galaxy.env
TasksMax=infinity
Type=forking
ExecStart=/opt/commvault/Base/Galaxy start direct -focus Instance001
ExecStop=/opt/commvault/Base/Galaxy stop direct -focus Instance001
RemainAfterExit=yes
KillMode=none
LimitNOFILE=262144

[Install]
WantedBy=multi-user.target
Alias=commvault.service

常用参数说明
[Unit]中
Description表示service的描述
Requisite表示前置条件,即必须满足某个条件或服务启动之后才能运行本服务
After指定service应该在哪些其他服务启动之后才启动,例如network.target

[Service]中
ExecStart表示service的启动命令
ExecStop表示service的关闭命令
User和Group指定服务运行的用户和组
Restart表示服务在故障后是否应该自动重启

[Install]中
WantedBy指定服务应该在哪个target中启动

一般情况下,只需要重点关注ExecStart项,需要修改为对应脚本的路径和名字

enable命令的原理
linux系统自启动目录为/etc/systemd/system/multi-user.target.wants/
当执行一条systemctl enable test.service命令后,会在/etc/systemd/system/multi-user.target.wants/这个linux系统自启动目录下为/etc/systemd/system/test.service文件新建一个软链接快捷方式,从而让test.service服务可以开机启动

方式三:使用rc.local文件

在root用户下执行以下操作

  1. 编辑/etc/rc.local文件,在文件最后面添加需要启动的命令
    可以直接执行命令,也可以调用其他的脚本文件
    例如cd /usr/ && ./test.sh
  2. 增加执行权限chmod +x /etc/rc.d/rc.local
  3. 确认程序写在exit 0行的前面

扩展
rc.local是Linux启动程序在login程序前执行的最后一个脚本
/etc/rc.local是/etc/rc.d/rc.local的软链接

标签:服务,service,etc,linux,开机,init,test,rc,自启动
From: https://www.cnblogs.com/caishuaichao/p/17544222.html

相关文章

  • Linux配置jdk环境
    jdk下载地址:https://www.oracle.com/cn/java/technologies/downloads/#jdk17-linux使用解压命令解压:tar-xzvf/opt/jdk-11.0.7_linux-x64_bin.tar.gz-C/usr/local/java/-xzvf后是上传的文件路径,-C参数是解压后的位置执行vim/etc/profile配置Java的环境变量,编辑/etc/......
  • Linux 发布常用命令
    移动mv原文件路径目标路径复制(所有文件含子目录)cp-r源文件路径目标路径查看进程ps-ef|grep要查看的进程名杀进程kill-9端口号查看历史命令history文件上传rz打包解压.tar格式解包:tarxvfFileName.tar打包:tarcvfFileName.tarDirName(注:tar是打包,不......
  • 基于 BPF 的 Linux 系统自动调优工具:Oracle 开发了 “bpftune”
    Oracle开源了一个基于BPF的 Linux 参数自动调优工具“bpftune”,这是一个自动配置器,可以监控Linux系统的工作负载并自动设置正确的内核参数值。Oracle开源了一个基于BPF的Linux参数自动调优工具“bpftune”,这是一个自动配置器,可以监控Linux系统的工作负载并......
  • 基于 BPF 的 Linux 系统自动调优工具:Oracle 开发了 “bpftune”
    Oracle开源了一个基于BPF的 Linux 参数自动调优工具“bpftune”,这是一个自动配置器,可以监控Linux系统的工作负载并自动设置正确的内核参数值。Oracle开源了一个基于BPF的Linux参数自动调优工具“bpftune”,这是一个自动配置器,可以监控Linux系统的工作负载并......
  • 基于 BPF 的 Linux 系统自动调优工具:Oracle 开发了 “bpftune”
    Oracle开源了一个基于BPF的 Linux 参数自动调优工具“bpftune”,这是一个自动配置器,可以监控Linux系统的工作负载并自动设置正确的内核参数值。Oracle开源了一个基于BPF的Linux参数自动调优工具“bpftune”,这是一个自动配置器,可以监控Linux系统的工作负载并......
  • 巧用 bc 命令测试 Linux 主机的 CPU 性能
    今天向公司申请了一台Linux主机,作为平时的开发环境。由于自己并不依赖远程开发(大多数情况下项目都可以本地开发、调试),于是只申请了4C/8G的低配机器。突然好奇的是,这台机器的性能怎么样?磁盘就不测试了,IO应该和生产环境差不多。先看看CPU的信息:cat/proc/cpuinfoprocesso......
  • Rockylinux9或Centos8安装zabbix6.0
    zabbix6.0服务端不再支持Centos7的yum安装,Centos8已停止维护,rockylinux是RHEL的下游免费发行版。1.安装rockylinux9:阿里云下载地址#关闭防火墙和selinux并重启sed-i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/configsystemctldisable--nowfirewalld#查......
  • linux三剑客(grep awk sed)
    linux三剑客(grepawksed)简介Linux三剑客主打信息处理,三剑合璧,几乎能满足你所有的信息需求。其中,grep专攻查找,sed精通编辑,awk主打分隔提取。grep如果你问我linux最叼的命令是什么的话,我会说是grep(globalregularexpressionsprint),在任何命令或文件流之后加上grep,面对密密麻......
  • 多种方法修改Linux用户的home目录
    参考:多种方法修改Linux用户的home目录在Linux上修改用户的Home目录可以按照以下步骤进行:确保以具有管理员权限的用户登录到系统上。使用usermod命令来修改用户的Home目录。命令的基本语法如下:sudousermod-d/新的目录路径用户名将/新的目录路径替换为你想要设置的新......
  • 熟悉linux系统的第二天
    今天又学习了很多的命令,真的很难记,今天还把指针又看了一看,学了一下qsort函数的冒泡排序原理,这两天出现了一点厌学的情绪,目标变得不清晰了,感觉这几天的学的东西没有带来什么进步,而且也怀疑自己的学习路径是不是问题很大,学完c直接开始学习Linux系统。在网上看到了很多的说法,有的就是......