文档章节

cron/chkconfig/systemd/unit/target

蛋黄_Yolks
 蛋黄_Yolks
发布于 2018/07/17 20:16
字数 1388
阅读 8
收藏 0

linux任务计划 : cron工具

任务计划在运维工作中用到的比较多,大部分系统管理工作都是通过定期自动执行某个脚本来完成。

查看linux中任务计划的配置文件: /etc/crontab

[root@yolks-001 ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

上面配置文件中提示:从左到右表示的参数依次为:**分(0 - 59)、时(0-23)、日(1-31)、月(1-12)、周几(0-6)**和要定时执行的命令。

编写一个任务计划,使用 crontab -e 选项来操作:

crontab -e

常用选项:

  • -u:表示指定某个用户,不加-u选项则默认当前用户。
  • -e:表示制定计划任务。
  • -l:表示列出计划任务,对应的文件在 /var/spool/cron/root
  • -r:表示删除计划任务。

在新打开的文件中添加定时任务,如下面代码:

#每天3点执行的任务,并且将结果输出日志
0 3 * * * /bin/bash /usr/local/sbin/123.sh >>/tmp/cron_run.log 2>>/tmp/cron_error.log

编写好后保存并退出,执行以下命令开启该任务计划

systemctl start crond

查看进程判断定时任务是否执行

[root@yolks-001 ~]# ps aux |grep cron
root        892  0.0  0.0 126232  1608 ?        Ss   22:13   0:00 /usr/sbin/crond -n
root       1760  0.0  0.0 112676   984 pts/0    R+   22:56   0:00 grep --color=auto cron

通过命令查看cron定时任务状态

通过命令停止任务计划

systemctl stop crond

Linux系统服务管理 : chkconfig

在Centos 6上的服务管理工具为chkconfig工具,Linux系统所有预设的服务都已可以通过/etc/init.d/目录得到。

[root@yolks-001 ~]# ls /etc/init.d  #列出Linux系统预设服务
functions  netconsole  network  README

只有屈指可数的几个文件是因为Centos 7已经不再延续Centos 6版本的服务管理方案,但是我们依然可以继续使用chkconfig这个命令。

chkconfig --list :列出所有的服务及其每个级别的开启状态

图中我们可以看到执行命令后系统所提示的内容,说明内容并没有包含Centos 7原生的systemd服务,而仅仅列出了SysV服务,也就是说Centos 7之前的版本采用的服务都是SysV

上图数字紧跟的开关中数字代表的是系统启动级别(现在的Centos 7已经不再严格区分级别的概念),运行级别0、1和6倍系统保留。其中0为关机1为单用户模式6为重启。一般都是用2、3、4、5级别,2表示无NFS支持的多用户模式3表示完全多用户模式(也是最常用的级别),4保留给用户自定义5表示图形登录方式centos6对应级别文件为:/etc/inittab

更改指定级别下的状态

[root@yolks-001 ~]# chkconfig --level 3 network off

批量更改指定级别状态

[root@yolks-001 ~]# chkconfig --level 345 network off

添加指定服务

[root@yolks-001 init.d]# chkconfig --add 123

移除指定的任务

[root@yolks-001 init.d]# chkconfig --del 123

systemd管理服务

使用systemd以下命令列出系统所有的服务

systemctl list-units --all --type=service

常用选项及命令:

  • systemctl enable crond.service //让某个服务开启(.service可以省略)
  • systemctl disable crond //不让开机启动
  • systemctl status crond //查看服务状态
  • systemctl start crond //启动某个服务
  • systemctl stop crond //停止某个服务
  • systemctl restart crond //重启某个服务
  • systemctl is-enable crond //查看某个服务是否开机启动

unit介绍

列出系统所有unit

[root@yolks-001 ~]# ls /usr/lib/systemd/system/

这个路径下有很多文件,这里简单列出一小部分,这些文件有多种类型,不同类型的文件都为一个unit,具体类型如下所示:

  • sercive:系统服务
  • target:多个unit组成的组
  • device:硬件设备
  • mount:文件系统挂载点
  • automount:自动挂载点
  • path:文件或路径

unit相关的命令

  • systemctl list-units //列出正在运行(active)的unit
  • systemctl list-units --all //列出所有的unit(包括失败的、inactive的)
  • systemctl list-units --all --state=inactive //列出所有inactive的unit
  • systemctl list-units --all --type=service //列出所有状态的service
  • systemctl list-units --type=service //列出状态的active的service
  • systemctl is-active crond.service //查看某个unit是否active
  • systemctl is-enabled crond.service //查看某个unit是否enabled

target

组成unit的一部分

查看系统中所有的target

systemctl list-unit-files --type=target

查看指定target中包含的service

systemctl list-dependencies halt.target

查看默认的target

[root@yolks-001 system]# systemctl get-default
multi-user.target

设置默认的target,会默认创建软链接

[root@yolks-001 system]# systemctl set-default multi-user.target 
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@yolks-001 system]# ls -l /etc/systemd/system/default.target
lrwxrwxrwx 1 root root 41 7月  17 20:04 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target

一个service属于一种类型的unit,多个unit组成一个target,一个target里面包含多个service及target。

拓展

对anacron的理解

使用xinetd管理网络应用服务

systemd添加自定义系统服务设置自定义开机启动的方法

© 著作权归作者所有

蛋黄_Yolks
粉丝 9
博文 100
码字总数 112269
作品 0
通州
私信 提问
任务计划cron、服务管理工具chkconfig/systemctl

10月30日任务 10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 任务计划 crontab 在某个时间执行某些命令或脚本,做到自动化运维 cron...

robertt15
2018/10/30
0
0
cron-chkconfig-systemd-unit-target

任务计划cron: /etc/crontab #任务计划配置文件 格式: 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6or1-7) 用户 命令 /var/spool/cron/[username] #各个用户配置的任务历史 配置...

ZHENG-JY
2018/07/17
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
2018/07/17
0
0
Linux设置日期时间,任务计划cron,chkconfig,systemd

任务计划cron 当我们需要在凌晨执行一条命令或运行一个脚本的时候,我们可能不会守在电脑旁,等时间到了去操作,经常我们会使用任务计划cron来实现。 设置系统时间 而使用任务计划往往会用到...

李超小牛子
2018/07/28
0
0
cron计划任务、chkconfig工具、systemd管理服务、unit、target介绍

1. linux任务计划cron linux的大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本呢?这就要借助linux的cron功能了,这部分的内容很重要,请牢记! 命令cro...

网虫变网工
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
7
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
2
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部