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。