CentOS7添加开机自启动任务(centos7设置开机启动项)
sinye56 2024-11-11 13:34 5 浏览 0 评论
随笔记录,平时工作中总是需要在Linux 系统下面添加开机自启动的任务,今天就总结一下针对添加任务使用的方法做一下记录。题外话想深度理解开机启动的过程,感兴趣的同学可以查看一下本人写的聊聊Linux的启动过程,便于理解如何在操作系统启动的相应阶段添加开机自启动任务。
先抛出几个常用的组合命令,后台执行任务和标准错误输出重定向到标准输出自定义日志文件。
- 执行后台运行任务命令
nohup + 自动运行命令 + & = 后台自动运行命令
nohup /export/install_pkgs/core-agent/agent/bin/falcon-agent -c /export/install_pkgs/core-agent/agent/config/cfg.json &
- 查看后台运行命令
[root@scm core-agent]# jobs -l
[1]+ 126018 Running nohup /export/install_pkgs/core-agent/agent/bin/falcon-agent -c /export/install_pkgs/core-agent/agent/config/cfg.json &
- 标准错误输出重定向到日志文件
* * * * * docker exec php php /var/www/html/jd-api/yii light/light > /data0/allinone/php/applogs/crontab.log 2>&1
方法1、通过rc.local添加开机自启动任务
注意:有的同学会疑问/etc/rc.local文件,编辑rc.local文件可以吗?答案是可以的,通过ll命令可以查看文件属性,可以发现/etc/rc.local 是/etc/rc.d/rc.local的软链接,编辑的是同一个文件。
[root@scm etc]# ll rc.local
lrwxrwxrwx. 1 root root 13 Jun 2 16:21 rc.local -> rc.d/rc.local
首先修改rc.local的执行权限
chmod +x /etc/rc.d/rc.local
编辑rc.local文件添加任务,命令中的路径使用绝对路径
编辑rc.local文件添加任务,命令中的路径使用绝对路径
nohup /export/install_pkgs/core-agent/agent/bin/falcon-agent -c /export/install_pkgs/core-agent/agent/config/cfg.json &
接下来执行rc.local命令
source /etc/rc.d/rc.local
方法2、 通过systemctl来控制服务启动,下面以添加一个set_write_same service为例
新建服务器文件/etc/systemd/system/set_write_same_centos_v7.service;
编辑set_write_same_centos_v7.service服务,内容如下:
[Unit]
Description="Set the max_write_same_blocks of some scsi disks to 0"
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c "/usr/local/bin/setWriteSame 2>&1 /var/log/setWriteName"
[Install]
WantedBy=multi-user.target
修改服务执行权限和所属用户和分组,一般情况下上线的内容通常会限制;
chmod +x /etc/systemd/system/set_write_same_centos_v7.service && chmod +x /usr/local/bin/setWriteSame
chown root:root /etc/systemd/system/set_write_same_centos_v7.service
加载服务、启动服务、服务添加开机自启动项。
systemctl daemon-reload
systemctl start set_write_same_centos_v7
systemctl enable set_write_same_centos_v7
systemctl其它命令
systemctl status set_write_same_centos_v7 //查看服务状态
systemctl disable set_write_same_centos_v7 //取消开启自启动
方法3、通过chkconfig添加开机自动执行任务,下面做一个简单的服务脚本
新建任务文件名称print_dated,任务内容打印当前时间;
提示:如下代码5、6行必须填写。
#!/bin/sh
#
# Startup script for print_date
#
#chkconfig: 35 85 15
#description: print_date
#processname: print_dated
cur_date=`date +%Y-%m-%d,%H:%m:%s`
echo $cur_date
将任务print_dated复制到/etc/rc.d/init.d目录中;
添加任务、查看任务;
chkconfig --add print-dated
chkconfig --list print-dated
验证任务是否添加成功;
[root@scm init.d]# chkconfig --list
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
print-dated 0:off 1:off 2:off 3:on 4:off 5:on 6:off
chkconfig常用命令列表
chkconfig --list #列出所有的系统服务
chkconfig --add httpd #增加httpd服务
chkconfig --del httpd #删除httpd服务
chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig --list #列出系统所有的服务启动情况
chkconfig --list mysqld #列出mysqld服务设置情况
chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级
chkconfig level 运行级别参考
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有联网NFS)
运行级别3:完全的多用户状态(有联网NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
恭喜你Get到三种添加开机自启动的方法,快去试试吧!
相关推荐
- Linux两种光驱自动挂载的方法
-
环境:CentOS6.4西昆云服务器方式一修改fstab文件/etc/fstab是系统保存文件系统信息?静态文件,每一行描述一个文件系统;系统每次启动会读取此文件信息以确定需要挂载哪些文件系统。参...
- linux系统运维,挂载和分区概念太难?在虚机下操作一次全掌握
-
虚拟机的好处就是可以模拟和学习生产环境的一切操作,假如我们还不熟悉磁盘操作,那先在虚机环境下多操作几次。这次来练习下硬盘扩容操作。虚拟机环境:centos8vm11linux设备命名规则在linux中...
- Linux 挂载 NFS 外部存储 (mount 和 /etc/fstab)
-
mount:手工挂载,下次重启需再重新挂载,操作命令:mount-tnfs-ooptionsserver:/remote/export/local/directory上面命令中,本地目录...
- 在Linux中如何设置自动挂载特定文件系统(示例)
-
Linux...
- Linux环境中的绑定挂载(bind mount)
-
简介:Linux中的mount命令是一个特殊的指令,主要用于挂载文件目录。而绑定挂载(bindmount)命令更为特别。mount的bind选项将第一个目录克隆到第二个。一个目录中的改变将会在...
- Linux挂载CIFS共享 临时挂载 1. 首先
-
如何解决服务器存储空间不足的问题?大家好,欢迎回来。在上一期视频中,我为大家介绍了如何利用Linux挂载来扩容服务器存储空间。这一期视频,我将以Linux为例,教大家如何进行扩容。群辉使用的是Linu...
- Linux 硬盘挂载(服务器重启自动挂载)
-
1、先查看目前机器上有几块硬盘,及已挂载磁盘:fdisk-l能够查看到当前主机上已连接上的磁盘,以及已经分割的磁盘分区。(下面以/dev/vdb磁盘进行分区、挂载为例,挂载点设置为/data)df...
- linux 挂载磁盘
-
在Linux中挂载硬盘的步骤如下:...
- 笨小猪教您Linux磁盘挂载
-
本教程针对Linux系统比较熟悉或者想学习Linux基础的用户朋友,本教程操作起来比较傻瓜式,跟着步骤就会操作,本文使用的工具是XShell同时多多注意空格(文中会有提示)。【问答】什么是磁盘挂载?答...
- Linux 磁盘挂载和docker安装命令
-
本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录。...
- Linux设置开机自动挂载分区
-
有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂...
- 在linux挂载一个新硬盘的完整步骤
-
以下是在Linux中挂载新原始磁盘的完整步骤,包括分区、创建文件系统以及使用UUID在/etc/fstab中启动时挂载磁盘:将新的原始磁盘连接到Linux系统并打开电源。运行以下命令,...
- Linux系统如何挂载exFAT分区
-
简介:Linux系统中不能像Windows系统那样自动识别加载新设备,需要手动识别,手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。这些文...
- Linux系统挂载硬盘
-
fdisk-l查看可挂载的磁盘都有哪些df-h查看已经挂载的磁盘...
- WSL2发布,如何在Win10中挂载Linux文件系统
-
WSL2是最新版本的架构,它为Windows子系统提供支持,使其能够在Windows上运行ELF64Linux二进制文件。通过最近的更新,它允许使用Linux文件系统访问存储在硬盘中的文件。如果你...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- 关闭防火墙linux (53)