八周一次课(5月11日)

时间:2021-11-09 12:48:52

10.23 linux任务计划cron


查看计划任务配置文件

# cat /etc/crontab
八周一次课(5月11日)

     分   时    日  月   周


编辑计划任务

#crontab -e  //用法和vim一样

八周一次课(5月11日)

*可用格式1-5表示范围1到5

*可用格式1,2,3表示1或者2或者3

*可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时

计划任务执行要保证服务是启动状态

启动任务

#systemctl start crond.service

检查任务是否启动

#ps aux |grep cron

八周一次课(5月11日)

# systemctl status crond

八周一次课(5月11日)


计划任务写了,却没有执行,

原因可能是命令不在cron的path里,又没有写绝对路径。所以编辑命令时尽量使用绝对路径


查看计划任务

# crontab -l                          //任务时刚才临时添加的

八周一次课(5月11日)


而计划任务保存位置在/var/spool/cron目录下,具体文件和用户名相同

八周一次课(5月11日)

所以,我们可以备份文件来计划任务


删除计划任务

#crontab -r


查看指定用户的计划任务

#crontab -u 用户名


10.24 chkconfig工具

chkconfig在centos7中已经被systemd取代了,为了兼容仍然可用该工具

列出服务列表

# chkconfig --list            //目前仅剩2个服务

八周一次课(5月11日)

服务文件位置       /etc/init.d

八周一次课(5月11日)


改变服务状态

#chkconfig network off           //关闭network服务

八周一次课(5月11日)


# chkconfig network on     //打开网络服务

八周一次课(5月11日)


在centos6及之前我们也可以定义服务的运行级别

# vi /etc/inittab    //centos7中不再使用

八周一次课(5月11日)


指定级别开启(或关闭)某个服务

# chkconfig  --level 35  network on     //在3和5级别打开network服务

八周一次课(5月11日)


增加一个新的服务

 # cp /etc/init.d/network /etc/init.d/123     //要在init.d目录下,且服务是有固定格式的,这里复制network作为123的模板

#chkconfig --add 123           //增加123到服务列表

八周一次课(5月11日)


删除服务

# chkconfig --del 123

八周一次课(5月11日)



关于用户级别,centos6及以前版本,

0关机

1单用户

2没有nfs的命令行多用户

3有nfs的命令行多用户

4保留

5多用户图形

6重启


10.25 systemd管理服务

这是centos7的服务管理机制

查看所有的服务

# systemctl list-units --all --type=service   //图片为部分内容
八周一次课(5月11日)


不加--all 未激活状态的服务就不列出来了

八周一次课(5月11日)


让服务开机启动(不启动)

# systemctl  enable crond.service   //开机启动
# systemctl  disable crond.service  //开机不启动

八周一次课(5月11日)


查看服务状态

# systemctl  status  crond.service     //刚才只是关闭开机启动,所以服务仍是active

八周一次课(5月11日)


停止服务
# systemctl  stop  crond.service

八周一次课(5月11日)


启动服务

# systemctl  start  crond.service

八周一次课(5月11日)


重启服务

# systemctl  restart  crond.service


检查服务是否开机启动

# systemctl  is-enabled  crond.service 

八周一次课(5月11日)


关于设置服务开机启动其实是创建一个软链接文件到目标服务(比如/usr/lib/systemd/system/crond.service)

八周一次课(5月11日)

八周一次课(5月11日)

10.26 unit介绍

列出系统所有unit
# ls /usr/lib/systemd/system
八周一次课(5月11日)
分为以下类型:

service 系统服务

target 多个unit组成的组

device 硬件设备

mount 文件系统挂载点

automount 自动挂载点

path 文件或路径

scope 不是由systemd启动的外部进程

slice 进程组

snapshot systemd快照

socket 进程间通信套接字

swap  swap文件

timer 定时器

unit相关命令

列出正在运行的unit

# systemctl  list-unit

八周一次课(5月11日)


列出所有unit,包含失败的或者inactive的

# systemctl  list-units --all


列出指定状态的unit

# systemctl  list-units --all --state  inactive

八周一次课(5月11日)


查看某个服务是否active

# systemctl is-active  crond.service
八周一次课(5月11日)



关于嵾centos7的运行级别

# ls -l runlevel*      
八周一次课(5月11日)



10.27 target介绍

系统为了方便管理用target来管理unit

列出所有的target

# systemctl  list-unit-files --all --type=target

八周一次课(5月11日)


查看指定target下有哪些unit

# systemctl list-dependencies multi-user.target
八周一次课(5月11日)

查看系统默认的target

# systemctl get-default

八周一次课(5月11日)


设置默认的target

# systemctl set-default multi-user.target

八周一次课(5月11日)


查看service属于哪个target

# cat /usr/lib/systemd/system/sshd.service   //查看[install]部分

八周一次课(5月11日)




一个service属于一种类型的unit

多个unit组成了一个target

一个target里面包含了多个service