Centos 7服务启动文件
在Centos 7中,如果要编辑一个脚本服务文件,并使用systemd进行管理,则必须将服务文件命名为/etc/systemd/system/*.service。
service unit文件中的选项一般为
[Unit]:定义与Unit 类型无关的通用选项;用于提供unit的描述信息、unit 行为及依赖关系等
[Service]:与特定类型相关的专用选项;此处为Service 类型
[Install] :定义由“systemctl enable” 以及"systemctl disable“命令在实现服务启用或禁止时用到的一些选项
Unit段的常用选项:
Description:描述信息
After:定义unit 的启动次序,表示当前unit 应该晚于哪些unit启动,其功能与Before 相反
Requires:依赖到的其它units ,强依赖,被依赖的units 无法激活时,当前unit也无法激活
Wants:依赖到的其它units,弱依赖
Conflicts :定义units
Service段的常用选项:
Type:定义影响ExecStart 及相关参数的功能的unit 进程启动类型
simple:默认值,这个daemon 主要由ExecStart接的指令串来启动,启动后常驻于内存中
forking:由ExecStart 启动的程序透过spawns 延伸出其他子程序来作为此daemon的主要服务。原生父程序在启动结束后就会终止
oneshot:与simple 类似,不过这个程序在工作完毕后就结束了,不会常驻在内存中
dbus:与simple类似,但这个daemon必须要在取得一个D-Bus的名称后,才会继续运作.因此通常也要同时设定BusNname=才行
notify:在启动完成后会发送一个通知消息。还需要配合NotifyAccess来让Systemd接收消息
idle:与simple类似,要执行这个daemon必须要所有的工作都顺利执行完毕后才会执行。这类的daemon通常是开机到最后才执行即可的服务
EnvironmentFile:环境配置文件
ExecStart:指明启动unit 要运行命令或脚本的绝对路径
ExecStartPre:ExecStart前运行
ExecStartPost:ExecStart后运行
ExecStop:指明停止unit要运行的命令或脚本
Restart:当设定Restart=1时,则当次daemon服务意外终止后,会再次自动启动此服务
Install段的常用选项:
Alias:别名,可使用systemctl command Alias.service
RequiredBy:被哪些units所依赖,强依赖
WantedBy:被哪些units所依赖,弱依赖
Also:安装本服务的时候还要安装别的相关服务
注意:对于新创建的unit文件,或者修改了的unit文件,要通知systemd重载此配置文件,而后可以选择重启
systemctl daemon-reload
编译一个服务,作用为备份/etc目录到/app/etc.bak
1 . 编辑服务文件
vim /etc/systemd/system/bak.service
[Unit]
Description=backup /etc \描述信息
Requires=atd.service \依赖于atd.service服务
[Service]
Type=simple \ 影响ExecStart及参数的功能的unit的启动类型
ExecStart=/bin/bash -c "echo /app/etc.bak|at now" \systemctl start 命令执行的操作
[Install]
WantedBy=multi-user.target \ 被multi-user.target所依赖,弱依赖
2 . 编辑备份功能脚本文件
[root@danran system]# cat /app/etc.bak
#!/bin/bash
cp -a /etc/ /app/backup-`date +%F`
[root@danran system]# chmod +x /app/bak.sh
3 . 因为新建服务依赖于atd.service服务,故应该将atd服务开启
systemctl start atd
4 . 加载服务文件
systemctl daemon-reload
4 . 开启此服务
systemctl start bak
Centos 7服务启动文件的更多相关文章
- 【linux】查看linux系统自带的服务启动文件
=============================================================== 1.查看所有启动文件 systemctl list-unit-files ...
- CentOS 6 各种启动文件损坏及修复
stage1 mbr的破坏和恢复 清空mbr 前446字节 dd if=/dev/zero of=/dev/sda bs=1 count=446 如果没有挂载启动光盘,会显示这样 如果启动前挂载了光盘 ...
- centOS下服务启动
nginx应该在mongodb之后启动,也可以通过chkconfig <服务名> on将服务设置为开机自启动.具体命令如下 service mysql start service memc ...
- 解决虚拟机 centos 网络服务启动
现象: 1. 通过 ip addr 显示 eno16777736 适配器为 DOWN 状态 2. service status network 显示以下日志: .... 11月 05 15:30:10 ...
- centos设置服务开机启动
Linux CentOS设置服务开机启动的方法 by 天涯 · 2013/07/26 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHa ...
- CentOS设置服务开机启动的方法
CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后 ...
- 自己编写服务启动脚本(一):functions文件详细分析和说明
本文目录: 1.几个显示函数2.action函数3.is_true和is_false函数4.confirm函数5.pid检测相关函数 5.1 checkpid.__pids_var_run和__pid ...
- CentOS 7.2 Ubuntu 18部署Rsync + Lsyncd服务实现文件实时同步/备份
发送端配置: 一.配置密钥 1. 主/从服务器之间启用基于密钥的身份验证.登录发送端服务器并用 " ssh-keygen " 命令生成公共或私有的密钥. 2. 使用 " ...
- centos7非centos标准服务 /etc/init.d/service_name start || stop 启动异常
公司自己写的java程序,在centos7系统执行/etc/init.d/service_name start||stop的时候报错: grafana二次开发的程序 [root@docp1 init. ...
随机推荐
- ubuntu下helloworld内核模块编译
1.hello.c #include<linux/init.h> #include<linux/module.h> MODULE_LICENSE("Dual BSD/ ...
- JavaBean和jsp的开发模型
1.实体类 package com.zdsofe.javaBean.work; public class Student { public String name; public String sex ...
- strtok函数 分类: c++ 2014-11-02 15:24 214人阅读 评论(0) 收藏
strtok函数是cstring文件中的函数 strtok函数是cstring文件中的函数 其功能是截断字符串 原型为:char *strtok(char s[],const char *delin) ...
- MySQL优化 - 所需了解的基础知识
时隔一年半,期间一直想写但却觉得没有实质性的内容可记录,本文为 [高性能MySQL] 的学习日志整理分享(感兴趣建议读原书). 优化应贯穿整个产品开发周期中,开发过程中考虑一些性能问题与影响,总比出问 ...
- rabbitmq重装之后无法加入原有cluster的bug解析
背景: 一台controller node,一台compute1节点 两台机器的host文件均已经进行hostname解析 两节点本已经加入了同一rabbitmq cluster 但controlle ...
- linux下怎么卸载自带的JDK和安装想要的JDK
linux下怎么卸载自带的JDK和安装想要的JDK 安装linux系统后,系统有自带jdk的版本,因为系统中的有些软件需要使用此环境.但时候我们安装eclipse和tomcat的时候,使用此jdk ...
- python常用模块(1):collections模块和re模块(正则表达式详解)
从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...
- Java常用文件操作-1
在我们的实际工作中经常会用到的文件操作,再此,将工作中碰到的做一个记录,以便日后查看. 1.复制文件夹到新文件夹下 /** * 复制文件夹下所有文件到指定路径 *@param oldPath *@pa ...
- cve-2017-8464 复现 快捷方式远程代码执行
cve-2017-8464 2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘.网 ...
- Java 冒泡排序的实现
实现原理: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除 ...