day06-linux

day06

linux

linux的启动流程

  • 启动计算机的硬件(BIOS)
    • 读取时间
    • 选择对应的启动模式(USB HDD EFI)
  • 如果是Linux系统,回去找/boot目录,引导这个系统启动
  • 计算机系统开始启动,读取初始化配置文件
    • vim /etc/inittab
    • 启动时控制着计算机的运行级别runlevel
      • 0 halt(关机)
      • 1 Single user mode(单用户模式)
      • 2 Multiuser,without NFS(多用户模式,但是五网络状态)FS-->FileSystem
      • 3 Full multiuser mode(多用户完整版模式)
      • 4 unused(保留模式)
      • 5 X11(用户界面模式)
      • 6 reboot(重启模式)
    • id:3:initdefault:默认runlevel为3
    • 以runlevel=3开始启动对应的服务和组件
  • 开始默认引导公共组件或者服务
    • vim /etc/rc.d/rc.sysinit
  • 开始加载对应runlevel的服务
    • vi /etc/rc3.d/
      • K:关机时需要关闭的服务
      • S:启动时需要开启的服务
      • 数字代表了开启或者关闭的顺序
      • 所有的文件都是软连接,链接的地址为/etc/init.d
  • 当启动完毕,所有的服务也被加载完成
linux的启动流程
读取/boot引导系统启动--读取/etc/inittab文件进行初始化配置--选择对应的运行级别--

开机自动启动服务

  • chkconfig

    • 创建开机自启动脚本文件

    • vim schoolntpdate.sh

      • #!/bash/bin
        #chkconfig: 2345 88 99
        #description: auto_run
        # 开机自启动同步时间
        yum info ntp && ntpdate cn.ntp.org.cn
        
      • #chkconfig: 2345 88 99
        #description: auto_run
        
        chkconfig后面有三个参数2345,88和99告诉chkconfig程序,需要在rc2.d~rc5.d目录下,创建名字为 S88auto_run的文件连接,连接到/etc/rc.d/init.d目录下的的auto_run脚本。
        第一个字符是S,系统在启动的时候,运行脚 本auto_run,就会添加一个start参数,告诉脚本,现在是启动模式。同时在rc0.d和rc6.d目录下,创建名字为K99auto_run的 文件连接,第一个字符为K,个系统在关闭系统的时候,会运行auto_run,添加一个stop,告诉脚本,现在是关闭模式。
        注意上面的三行中,第二,第三行是必须的,否则在运行chkconfig --add auto_run时,会报错。
        
    • 给其设置执行权限

      • chmod u+x schoolntpdate.sh
    • 将脚本拷贝到 /etc/init.d目录下

      • cp schoolntpdate.sh /etc/init.d/
    • 添加到服务

      • chkconfig --add /etc/init.d/schoolntpdate.sh
    • 重启服务器

      • reboot
    chkconfig的其他命令
    chkconfig --list      查看所有的开机自动启动服务
    chkconfig --del 服务名 删除开机自动启动服务
    

任务调度

  • 任务调度
    • job
      • 任务:sql shell java
    • 定时
      • 在指定时间运行任务
    • workflow
      • 工作流,形成前后关系,前一个任务执行成功后,才会执行当前任务

定时任务

  • 在系统服务中心,crond负责周期任务

    • systemctl status crond.service
  • 添加任务,编辑当前用户的任务列表

    • crontab -e
  • 编辑任务

    • *  *  *  *  *  command
      分 时 日 月 周   命令
      
      第1列 表示分钟1~59 每分钟用*或者*/1表示
      第2列 表示小时1~23 (0表示0点)
      第3列 表示日期1~31 
      第4列 表示月份1~12
      第5列 表示星期0~6 (0表示星期天)
      第6列 表示要运行的命令
      
      特殊字符:
      	*	表示任意时间都,实际上就是 每 的意思
      	-	表示区间,是一个范围,00 17-19 * * * cmd 就是每天17,18,19点的整点执行命令
      	,	表示分割时段,30 3,19,21 * * * cmd,就是每天凌晨3点和晚上19,21点的半点时刻执行命令
      	/n	表示分割,可以看出出发,*/5 * * * * cmd ,每隔5分钟执行一次
      
  • 重启crontab,是配置生效

    • systemctl restart crond.service
  • 通过crontab -l

    • 查看当前的定时任务
  • 查看任务的历史

    • vim /var/spool/mail/root
  • 清除任务

    • crontab -r

其他

ntp

netwrok time protocol  网络时间协议,为了避免主机时间因为在长时间运行下导致的时间偏差,进行时间同步。
posted @ 2022-03-23 22:00  黎白昼  阅读(15)  评论(0)    收藏  举报