10.23 linux任务计划cron
- linux任务计划功能的操作可以通过crontab命令来完成
任务计划的配置文件 /etc/crontab
MAILTO=root 表示发送邮件给谁。
第1位表示分钟 0-59
第2位表示小时 0-23
第3位表示日期 1-31
第4位表示月份 1-12 0R jan,feb,mar…..(英文月份简写)
第5位表示星期 0-6(Sunday=7)OR sun,mon,tue,wed,thu,fri,sat
uesr 表示用户是谁,在root用户下,不填写默认为root。
command to be executed表示需要执行的命令。制定任务计划
crontab -e
使用i键进入编辑模式
表示每天3点执行后面的脚本。
>>/tmp/123.log 2>>/tmp/123.log
```表示指定的正确的输出和错误的输出追加到文件中
- 要想制定的任务计划正常使用,要保存服务是启动状态 可以使用命令 systemctl start crond ,查看使用ps aux |grep cron 或者systemctl status crond
![这里写图片描述](https://img-blog.csdn.net/20171204222033630?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- 如果编写的计划如果没有执行,很有可能是命令没有使用绝对路径,或者命令并没有在它的PASH变量里面。建议使用绝对路径,编写的任务计划执行后都需要追加到日志里面,方便查看。
- crontab -l 列出任务计划
保存在/var/spool/cron/root 最后的root是用户名,如果是user1用户下制定的任务计划,那最后为user1。
crontab -u root -l 表示列出root用户的任务计划。
- crontab -r 表示删除任务计划。
----------
<div class="se-preview-section-delimiter"></div>
10.24 chkconfig工具
-----------------
- 在centos6中的服务管理工具为chkconfig ,linxu系统所欲的预设服务都可以通过/etc/init.d目录得到。或是使用chkconfig --list
![这里写图片描述](https://img-blog.csdn.net/20171204224730234?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- 针对服务做变更
![这里写图片描述](https://img-blog.csdn.net/20171204224909263?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 这个状态表示是否开机启动
这里的7个级别的含义:
0 关机状态
1 单用户模式
2 多用户模式,相比3级别缺少了nfs服务
3 多用户模式,不带图形
4 保留状态
5 多用户模式,并带有图形,如果安装就可以启动
6 重启
- 在centos6中及之前的版本去修改/etc/inittab文件定义它的运行级别。系统一启动就运行某个级别。
![这里写图片描述](https://img-blog.csdn.net/20171204225934443?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在centos7中不再使用
- 指定某一级别是关闭或者是开启
chkconfig --level 3 network off
比如要关闭3和5级别 就可以写成 chkconfig --level 35 network off
![这里写图片描述](https://img-blog.csdn.net/20171204230335554?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- 把某项服务脚本加入到系统服务列表中来。
只有把需要启动脚本加入到/etc/init.d目录下才能被加入到系统服务中,再使用命名chkconfig -add 来添加
![这里写图片描述](https://img-blog.csdn.net/20171204231442536?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![这里写图片描述](https://img-blog.csdn.net/20171204231644201?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
chkconfig 2345(运行级别) 10(第十位启动) 90(第90位关闭)
与下面这部分描述都要有才能被识别。
<div class="se-preview-section-delimiter"></div>
description: Activates/Deactivates all network interfaces configured to \
start at boot time.
- 删除
chkconfig --del
![这里写图片描述](https://img-blog.csdn.net/20171204232343873?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
----------
<div class="se-preview-section-delimiter"></div>
10.25 systemd管理服务
-----------------
- 在centos7中使用systemctl list-unit-files来查看所有的服务。
![这里写图片描述](https://img-blog.csdn.net/20171204232606384?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bnlhbmczMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- 查看指定的服务可以使用以下命令
<div class="se-preview-section-delimiter"></div>
systemctl list-units –all –type=service
“`
-也可以不查看未激活状态的去掉–all
让服务开机启动
systemctl enable crond.service不让服务开机启动
systemctl disable crond.service查看状态
systemctl status crond.service停止服务
systemctl stop crond启动服务
systemctl start crond- 重启服务
systemctl restart crond - 检查服务是否开机启动
systemctl is-enabled crond - 配置文件内容
10.26 unit介绍
- ls /usr/lib/systemd/system/ 这里是系统所有unit
- 分为以下类型
(1)service 系统服务
(2)target 多个unit组成的组
(3)device 硬件设备
(4)mount 文件系统挂载点
(5)automount 自动挂载点
(6)path 文件或路径
(7)scope 不是由systemctl启动的外部进程
(8)slice 进程组
(9)snapshot systemd 快照
(10)socket 进程间通信套接字
(11)swap swap文件
(12)timer 定时器 - unit相关的命令
(1) systemctl list-units //列出正在运行的unit
(2)systemctl list -units –all //列出所有,包括失败的或者inactive的
(3)systemctl list -units –all –state=inactive //列出inactive的unit
(4)systemctl list -units –type=service //列出状态为active的service
(5)systemct is-active crond.service //查看某个服务是否为active
10.27 target介绍
- 系统为例方便管理用target来管理unit
- systemctl list-unit-files –type=target
- systemctl list-dependencies multi-uesr.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]部分
- -