linux任务计划, chkconfig工具,systemd管理服务, unit介绍,target介绍

强颜欢笑 提交于 2020-01-07 07:33:41

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

linux任务计划:

一.  Crontab 介绍

crontab命令的功能是在一定的时间间隔调度一些命令的执行。

二.查看/etc/crontab文件

vi  /etc/crontab

三.文件/etc/crontab中每行任务的描述格式如下:

minute hour day month dayofweek command

  minute - 从0到59的整数 
    hour - 从0到23的整数 
    day - 从1到31的整数 (必须是指定月份的有效日期)
    month - 从1到12的整数 (或如Jan或Feb简写的月份)
    dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)
    command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)

    root表示以root用户身份来运行
    run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本

    对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。 
    整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4  (范围)

指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。(指定某几个数字)

符号“/”指定步进设置。“/<interger>”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。

以“#”开头的为注释行,不会被执行。

4.范围

可用格式1-5表示一个范围1到5
可用格式1,2,3表示1或者2或者3
可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时

crontab -u、-e、-l、-r    编辑需要配置的文件  -l=查询任务计划   -r=删除计划    -u=指定用户     -e=进入编辑模式

5.启动服务

sbin/service crond start //启动服务       =    systemctl start crond 
/sbin/service crond stop //关闭服务      =    systemctl stop crond
/sbin/service crond restart //重启服务   =    systemctl  restart crond
/sbin/service crond reload //重新载入配置

 

 chkconfig工具:

chkconfig --list    查看系统服务

chkconfig --level 3network off    指定某个服务在开机系统关闭或者开启  off=关闭 on=开启

chkconfig --add 123   把脚本添加到系统服务里面去

首先,把脚本添加到 /etc/init.d/ 目录里面去,然后就可以添加服务了。(被添加的服务必须是一个脚本)

chkconfig --del    删除系统服务

 

 

systemd系统服务管理:

systemctl list-units --all --type=service    列出系统所有服务

systemctl enable crond.service //让服务开机启动     crond =服务的名称
systemctl disable crond //不让开机启动
systemctl status crond //查看状态
systemctl stop crond //停止服务
systemctl start crond //启动服务
systemctl restart crond //重启服务
systemctl is-enabled crond //检查服务是否开机启动

 

unit介绍:

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

 

 

target介绍:

系统为了方便管理用target来管理unit
 systemctl list-unit-files --type=target    列出系统下的target
 systemctl list-dependencies multi-user.target //查看指定target下面有哪些unit
 systemctl get-default //查看系统默认的target
 systemctl set-default multi-user.target
 一个service属于一种类型的unit
 多个unit组成了一个target
 一个target里面包含了多个service
 cat /usr/lib/systemd/system/sshd.service //看[install]部分

 

 

扩展


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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!