linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍
第8周第1次课(5月14日)
课程内容:
10.23 linux任务计划cron
10.24 chkconfig工具
10.25 systemd管理服务
10.26 unit介绍
10.27 target介绍
扩展
1. anacron http://blog.csdn.net/strikers1982/article/details/4787226
2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装) http://blog.sina.com.cn/s/blog_465bbe6b010000vi.html
3. systemd自定义启动脚本 http://www.jb51.net/article/100457.htm
10.23 linux任务计划cron
在Linux中任务计划是必不可少的,例如有时候需要在凌晨执行数据备份,系统自带的任务计划配置文件是/etc/crontab

[root@jimmylinux-002 ~]# crontab -e 使用crontab -e 去定义任务计划
格式:分 时 日 月 周 user command
文件/var/spool/cron/username
分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7
可用格式1-5表示一个范围1到5
可用格式1,2,3表示1或者2或者3
可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时
要保证服务是启动状态

[root@jimmylinux-002 ~]# systemctl start crond 启动任务计划服务
[root@jimmylinux-002 ~]# ps aux |grep cron 检查服务是否启动,如果有crond进程就说明已经启动。

[root@jimmylinux-002 ~]# systemctl status crond 也可以使用这个命令检查,如果active是绿色状态,也说明服务有被启动,假如把服务停掉,那么active没有绿色标注。

任务计划服务一定要启动,否则不生效,另外任务计划配置文件里面的命令一定要写绝对路径,同时指定文件输出正确和错误的日志,方便检查故障原因。
实例:
crontab -e

[root@jimmylinux-002 ~]# crontab -l 查看刚才加的任务计划内容

[root@jimmylinux-002 ~]# cat /var/spool/cron/root 这个里面有对应用户的cron,root的就是root的cron,user1的就是user1的cron。
如果需要备份任务计划,那直接复制cron文件或者复制这个目录/var/spool/cron/root也行。
cron -l 列出cron
cron -e 编辑内容
cron -r 删除cron
cron -u 指定用户
10.24 chkconfig工具
Linux系统服务管理-chkconfig,在CentOS6里面有这个工具,CentOS7同样也兼容chkconfig工具。
[root@jimmylinux-002 ~]# chkconfig --list 查看当前系统里面使用chkconfig工具的服务都有哪些。

chkconfig 在6以及之前的版本系统使用的服务管理机制sysv,7版本使用服务管理机制是systemd。
[root@jimmylinux-002 ~]# top 使用top查看进程1显示是systemd,说明这个进程也是非常重要的,在6版本中进程1是init。

这些服务在/etc/init.d/ 这个路径下

[root@jimmylinux-002 ~]# chkconfig network off 把指定的服务做一个变更

0-6有6个级别,在6和6之前的版本,0表示关机,1表示单用户(在6和之前版本中)2和3就差一个地方,3表示多用户模式,只是不带图形,而2比3只少了一个nfs服务,4表示保留,5表示多用户而且带图形,6表示重启。
如果把系统定位在1级别,一启动就到了1级别单用户,如果定位到6是启动不了的,所以在7的系统中不在区分6个级别,而在6和之前的版本是有区分的。
[root@jimmylinux-002 ~]# vi /etc/inittab 在6系统的版本中修改这个文件可以去定义系统启动的级别,而在7系统中已经不在区分。

chkconfig可以去把一个服务开机启动,也可以让开机不启动,也可以指定某一个级别是开启或关闭。


当然0、1、6级别不能够设置为开,因为重启的时候不可能先开启,而重启的那一刻应该是关闭的,而且关机模式也是不可能开启的。
同样也可以把一个脚本加入到服务列表里面来,操作实例如下:
自定义一个服务


首先把123这个启动脚本放到/etc/init.d这个目录里面去,只有在这个目录下才能够添加到服务列表里面去,这样就到到达上面的效果了。
能够增加也同样可以删除,执行chkconfig --del 123 就可以删除掉。

10.25 systemd管理服务
[root@jimmylinux-002 init.d]# systemctl list-units --all --type=service
列出所有服务

systemctl list-units --type=service
如果不加--all 只列出active,inactive就不会列出来。

几个常用的服务相关的命令
systemctl enable crond.service //让服务开机启动
systemctl disable crond //不让开机启动
systemctl status crond //查看状态
systemctl stop crond //停止服务
systemctl start crond //启动服务
systemctl restart crond //重启服务
systemctl is-enabled crond //检查服务是否开机启动
10.26 unit介绍
ls /usr/lib/systemd/system //系统所有unit,分为以下类型
service 系统服务
target 多个unit组成的组
device 硬件设备
mount 文件系统挂载点
automount 自动挂载点
path 文件或路径
scope 不是由systemd启动的外部进程
slice 进程组
snapshot systemd快照
socket 进程间通信套接字
swap swap文件
timer 定时器

查看target级别,和CentOS6一样有7个运行级别。

unit里面有一种类型叫target,target实际上就是多个service或者多个unit组成的一个组,然后形成了一个target。
unit相关的命令
systemctl list-units //列出正在运行的unit
systemctl list-units --all //列出所有,包括失败的或者inactive的
systemctl list-units --all --state=inactive //列出inactive的unit
systemctl list-units --type=service//列出状态为active的service
systemctl is-active crond.service //查看某个服务是否为active
10.27 target介绍
系统为了方便管理,所以用target来管理unit
systemctl list-unit-files --type=target
systemctl list-dependencies multi-user.target //查看指定target下面有哪些unit
systemctl get-default //查看系统默认的target

systemctl set-default multi-user.target 设置一个默认target时候也会创建一个软连接


一个service属于一种类型的unit
多个unit组成了一个target
一个target里面包含了多个service
cat /usr/lib/systemd/system/sshd.service //查看一个服务属于哪个target,只需要看[install]部分就可以看出属于哪个target

总结:
系统systemd这个管理机制有些复杂,尤其使用命令比较繁琐,系统可以说有多种unit组成的,那么这么多unit为了方便管理,我们就把他们归类,归类成若干的类,每一类每一组就把它叫作target,也就说target是由多个unit组成的,service它属于一种类型的target,一个target里面包含了若干的service,而且还可以使用get-dufault查看系统默认target,也可以使用set-dufault去设置默认target。
linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍的更多相关文章
- linux任务计划 chkconfig工具 systemd管理服务 unit介绍 target介绍
linux任务计划 任务计划:特定时间备份数据,重启服务,shell脚本,单独的命令等等. 任务计划配置文件:cat /etc/crontab [root@centos7 ~]# cat /etc/c ...
- Linux centos7 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、 target介绍
一.linux任务计划cron crontab -u -e -l -r 格式;分 时 日 月 周 user command 文件/var/spool/corn/username 分范围0-59,时范 ...
- linux任务计划cron
linux任务计划cron 1.crontab命令任务计划配置文件 [root@bogon ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/ ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- Android窗口管理服务WindowManagerService的简要介绍和学习计划
在前一个系列文章中,我们从个体的角度来分析了Android应用程序窗口的实现框架.事实上,如果我们从整体的角度来看,Android应用程序窗口的 实现要更复杂,因为它们的类型和作用不同,且会相互影响. ...
- Linux 启动脚本及chkconfig命令之自启动服务
有时我们会碰到这样的情况,系统启动的时候报一大堆无法连接mysql的错误,问题在mysql数据库还没有启动的时候已经启动了一些需要连接mysql数据库的服务.这样我们就得修改启动顺序,把需要连接mys ...
- systemd管理服务
[root@zbs-staging-api system]# cat /lib/systemd/system/ncmulti@.service [Unit] Description=many on % ...
- Linux用户和权限——用户和用户组管理
Linux用户和权限——用户和用户组管理 摘要:本文主要介绍了Linux系统中的用户和用户组管理. 用户和用户组 含义 在使用Linux系统时,虽然输入的是自己的用户名和密码,但其实Linux并不认识 ...
- [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务
转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...
随机推荐
- uWSGI+django+nginx 的工作原理流程与部署历程
一.前言 献给和我一样懵懂中不断汲取知识,进步的人们. 霓虹闪烁,但人们真正需要的,只是一个可以照亮前路的烛光 二.必要的前提 2.1 准备知识 django 一个基于python的开源web框架,请 ...
- 【GIT】下载最新库命令
使用技巧:使用这个命令 git clone git仓库地址 --depth=1 这样只下载最新版本仓库,而不是所有历史版本的仓库
- [2018-01-12] laravel中的MVC
路由里面可以做所有事情,但是真正的项目当中,路由只用来接收请求,并转发给控制器的方法进行处理 首先我们先了解一下 一.app/Http/routes路由的用法: 方法一. 这种方法写完后在控制器创建方 ...
- 使用Typescript重构axios(八)——实现基础功能:处理响应data
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 大宇java面试系列(二):jvm组成部分
1. 说一下 JVM 的主要组成部分?及其作用? 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库接口(Na ...
- 为企业应用开发提速,写给企业IT部门的低代码开发基础知识
简介:应用程序开发长期以来一直是IT部门和业务部门面临的问题. IT部门总是被新的应用程序需求弄得不堪重负.他们不可能完成业务部门想要完成的每一个项目. 同时,业务部门的用户厌倦了等待,并开始完全绕过 ...
- nyoj 524-A-B Problem (java stripTrailingZeros, toPlainString)
524-A-B Problem 内存限制:64MB 时间限制:1000ms 特判: No 通过数:2 提交数:4 难度:3 题目描述: A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下 ...
- 一文教你快速读懂MQTT网关
MQTT是一种发布(publish)/订阅(subscribe)协议,MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与 ...
- iOS核心动画高级技巧-1
1. 图层树 图层的树状结构 巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -- 史莱克 Core Animation其实是一个令人误解的命名.你可能认为它只是用来做动画的,但实际上它是从一个叫做L ...
- Django 自定义分页器
为什么要实现分页? 在大部分网站中分页的功能都是必要的,尤其是在后台管理中分页更是不可或缺 分页能带给用户更好的体验,也能减轻服务器的压力 对于分页来说,有许多方法都可以实现 例如把数据全部读取出来在 ...