码迷,mamicode.com
首页 > 系统相关 > 详细

Linux学习总结(二十七)任务计划,系统服务管理

时间:2018-03-27 01:58:17      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:crontab   chkconfig   systemctl   unit   target   

1 任务计划

说白了就是运行命令或者脚本的一个定时器,他可以让我们在休息时间自动给我们执行任相关任务。
来看下它的配置文件:cat /etc/crontab
技术分享图片
第一行定义了 shell环境
第二行定义 环境变量
第三行定义了发邮件给root用户,邮件保存路径为/var/spool/mail/root/
最后定义了任务内容的格式,从左到右依次为:
分 时 日 月 周 命令
分钟:0-59
小时:0-23
日期:1-31
月份:1-12
周:0-7 0,7都表示星期天
可以指定一个范围:比如1-5 周一到周五, 也可以单独指定:比如1,2可以表示每月1号和2号
* 表示所有时间, */2 可以表示偶数时间段
crontab -e 创建一个任务,此时相当于vi打开一个文本,里面的操作跟vi一致
-l 查看任务
-r 删除任务
-u 后面跟用户名,指定是哪个用户的计划任务,不指定默认root用户
任务创建完后,一定要确保任务计划服务启动。
systemctl start crond.service 启动任务计划服务
ps aux |grep crond 查看是否启动,查看是否有/usr/sbin/crond -n 这一进程
或者 systemctl status crond 查看,出现绿色字显示的 active(running)表示启动
任务放在了/var/spool/cron/username 下,username 指相应用户
备注:不管是计划任务,还是iptables规则,还是其他shell脚本尽量使用绝对路径,计划任务最好将命令执行结果反馈到日志,>> 2>> ,以便日后有据可查

2 chkconfig

linux 系统服务管理,类似于windos的开机启动管理。来熟悉下基本用法:

chkconfig --list //查看所有服务
chkconfig --level 345 network off  //345级别的network服务关闭
chkconfig --del network   //删除network服务
chkconfig --add network    //添加network服务

添加服务之前需要先将服务脚本放进 /etc/init.d/文件夹

3 systemd 管理

centos 7开始使用的系统服务管理机制
systemctl list-units --all --type=service //查看所有service服务
几个常用的服务相关的命令

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

4 unit 和target

unit是一个守护进程的分装单元,多个unit组成了一个target
ls /usr/lib/systemd/system //系统所有unit,分为以下类型
service 系统服务
target 多个unit组成的组
device 硬件设备
mount 文件系统挂载点
automount 自动挂载点
path 文件或路径
scope 不是由systemd启动的外部进程
slice 进程组
snapshot systemd快照
socket 进程间通信套接字
swap swap文件
timer 定时器
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来管理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

unit target service 三者的关系:
一个service属于一种类型的unit
多个unit组成了一个target,
一个target里面包含了多个service
cat /usr/lib/systemd/system/sshd.service //看[install]部分,查看该
service属于哪一个target。

Linux学习总结(二十七)任务计划,系统服务管理

标签:crontab   chkconfig   systemctl   unit   target   

原文地址:http://blog.51cto.com/12606610/2091411

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!