Linux20180511八周一次课cron chkconf systemd unit target

八周一次课(5月11日)

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


Linux任务计划

image.png

可能是个shell脚本,也可能是单独命令。不管是何种形式,都需要某个时间去执行,这样就需要确定一个时间。


任务计划的配置文件 etc/crontab

image.png

定义了变量,环境变量,命令路径 mailto 发邮件给谁,以及格式。不写用户的话,默认是root


定义Linux任务计划的命令

crontab -e 语法和vim一样

比如设定一个凌晨3点的任务:

image.png

解释:

0 3 * * *0分 3点 每天 每月 每日执行

/bin/bash 说明是要执行shell脚本 后面 /user/local/sbin/123.sh 跟的是要执行的脚本 然后写入log 因为每天都执行 所以是追加 后面跟的是错误的log 也追加到这个文件中 

也可以使用范围来表示时间

0 3 1-10 */2  2,5

凌晨3点0分 1-10号, */2被2整除也就是闰月 周二周五 


然后启动crond这个服务才能使用这个任务计划

systemctl start crond 

然后用检查进程是否启动

image.png

或者使用 systemctl status crond 检查crond的状态

image.png

systemctl stop crond 停掉crond

image.png

查看当前的任务计划命令

crontab -l

删除当前的任务计划

crontab -r

查看指定用户的任务计划

crontab -u root -l

注意:

1. 有时候可能因为写的脚本里用的是命令,而不是命令的绝对路径,有可能会导致无法执行。

2. 每写一个任务计划都要写上追加日志,这样有迹可循。

3. 任务计划的文件位置是 /var/spool/cron/root 对应用户的cron root下就是root的,其他用户的cron都有存在对应的用户名下。所以备份的话可以直接拷贝这的文件到其他位置进行拷贝




Linux系统服务管理 -chkconfig

image.png


所谓的crontab firewalld 等都是服务,全是服务所以需要有一个服务管理工具。

Centos6是chkconfig,但是7也是同样兼容的。


将服务显示出来

chkconfig --list

image.png

解释一下,目前看起来只有2个进程,这样就比较奇怪,其他进程去哪了?

看上面的解释,这个命令值展示SysV服务,不包含systemd服务,意思是6以及之前版本的服务管理机制是sysv,7用的是systemd,所以systemd是7以及以后版本的服务管理器。从top命令也可以看到这个很重要的进程。

image.png

image.png


那chkconfig管理的服务具体的位置路径是什么地方呢?

/etc/init.d/ 以后在配置ngix mysql的时候可能还需要把启动脚本放到这个路径然后使用chkconfig去管理

image.png


可以关闭服务

chkconfig network off 

image.png

0-6表示不同的服务级别。

0--关机

1--单用户 centos6以及以前版本

2--比3少了一个nfs服务

3--多用户模式 不带图像

4--保留级别

5--多用户,带图形界面

6-- 重启


centos7不存在级别了。6以及之前版本可以通过更改配置文件 /etc/inittab来定义运行级别。


chkconfig 可以指定某个级别是开启或者关闭

chkconfig --level 3 network off/on 

image.png


也可以将自定义的脚本放到服务中去,必须将脚本放到 /etc/init.d目录下

然后使用命令

chkconfig --add 新服务

image.png

当然了,这个新的服务文件的格式必须满足一些条件 才行。我们看一看。下面两行是必须的

chkconfig:

description:

image.png

上面的注释的意思是,服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

90是启动优先级,10是停止优先级,优先级范围是0-100,数字越大,优先级越低。


有添加就会有删除


chkconfig --del 服务名

image.png


服务删除了,文件还在哦

image.png



Linux系统服务管理--systemd(centos7的服务管理机制)

image.png


显示所有类型的服务的命令

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

不加--all就不会把inactive的列出来

image.png

image.png


cron服务开机启动/不启动

systemctl enable/disable  crond


查看cron状态

systemctl status crond 


停止cron服务

systemctl stop crond


启动cron服务

systemctl start crond


重启

systemctl restart crond


检查cron服务是否开机启动

systemctl is-enabled crond 


image.png

同时从上面可以得到cron的配置文件的内容

image.png

image.png


image.png

从右边软链接到左边,右边是真正的文件路径


enable之后就会生成软链接,disable之后软链接就没有了。


猜你喜欢

转载自blog.51cto.com/13691454/2115418