系统启动流程

✦ 启动计算机的硬件(BIOS)
  ● 读取时间
  ● 选择对应的启动模式(USB HDD EFI)
✦ 如果是Linux系统,回去找/boot目录引导系统启动
✦ 计算机系统开始启动,读取初始化配置文件
  ● vim etc/inittab
  ● 启动时控制着计算机的运行级别runlevel

1
2
3
4
5
6
7
runlevel0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
runlevel1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
runlevel2:多用户状态(没有NFS)
runlevel3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
runlevel4:系统未使用,保留
runlevel5:X11控制台,登陆后进入图形GUI模式
runlevel6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

  ● id:3:initdefault:默认runlevel为3
  ● 以runlevel=3开始启动对应的服务和组件
✦ 开始默认引导公共的组件或者服务
  ● vim /etc/rc.d/rc.sysinit
✦ 开始加载对应的runlevel服务
  ● vim /etc/rc3.d/

系统服务

✦ 可以使用chkconfig命令查看当前虚拟机的服务
✦ 通过查看可以得知不同级别对应到每一个服务确定本次开机自启动
✦ 开机结束后,我们需要使用service(Centos6)或者Systemctl(Centos7)命令控制服务的开启或者关闭

开机自启动服务

rc.local

  ● 首先创建脚本存放的文件夹
    · mkdir -p /usr/local/scripts
  ● 在文件夹中创建脚本文件
    · vim init_date.sh

1
2
3
#! /bin/bash
######校准时间######
ntpdate cn.ntp.org.cn

    · 使用chmod +x init_date.sh 给予可执行权限
  ● 去/etc/rc.d/rc.local文件中添加脚本的绝对路径
    · source /usr/local/scripts/init_date.sh
    · 给予rc.local可执行权限 chmod +x rc.local
  ● 修改错误的系统时间用于测试
    · date -s "2020-06-19 15:18:31"
  ● 重启虚拟机
    · reboot

chkconfig

  ● vim date_service.sh

1
2
3
#! /bin/bash
#chkconfig: 35 66 88
ntpdate cn.ntp.org.cn

    · 给予可执行权限
  ● 将脚本拷贝到/etc/init.d目录下
    · cp date_service.sh /etc/init.d/
  ● 添加到服务
    · chkconfig --add /etc/init.d/date_service.sh
  ● 修改错误的系统时间用于测试
    · date -s "2020-06-19 15:18:31"
  ● 重启虚拟机
    · reboot

定时任务

✦ 在系统服务中心,crond负责周期任务
  ● systemctl start crond.service
✦ 添加任务,编辑当前用户的任务列表
  ● crontab -e
✦ 编辑任务
  ● 分 时 日 月 周 command

1
2
3
4
*:表示任意时间都,实际上就是“每”的意思。可以代表00-23小时或者00-12每月或者00-59分
-:表示区间,是一个范围,00 17-19 * * * command,表示每天的17-19点整点执行命令
,:是分割时段,30 3,19,21 * * * command,就是每天3,19,21点的半点执行命令
/n:表示分割,可以看成除法,*/5 * * * * command,表示每隔五分钟执行一次

✦ 重启crontab,使配置生效
  ● systemctl restart crond.service
✦ 查看当前任务
  ● crontab -l
✦ 查看任务的历史
  ● vim /var/spool/mail/root
✦ 清除任务
  ● crontab -r