首页  >  文章  >  运维  >  深入浅析了解Linux学习笔记之系统任务设置

深入浅析了解Linux学习笔记之系统任务设置

WBOY
WBOY转载
2022-02-07 17:15:381595浏览

本篇文章给大家带来了关于linux中系统任务设置的相关知识,其中包括系统启动流程、系统服务、开机自启动服务和定时任务的相关问题,希望对大家有帮助。

深入浅析了解Linux学习笔记之系统任务设置

系统启动流程

  • 启动计算机的硬件(BIOS)
    • 读取时间
    • 选择对应的启动模式(USB HDD EFI)
  • 如果是Linux系统,回去找/boot目录,引导这个系统启动
  • 计算机系统开始启动,读取初始化配置文件
    • vi /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:3initdefault:  默认runlevel为3
    • 以runlevel=3开始启动对应的服务和组件
  • 开始默认引导公共的组件或者服务
    • vi /etc/rc.d/rc.sysinit
  • 开始加载对应runlevel的服务
    • vi /etc/rc3.d
      • K:关机时需要关闭的服务
      • S:启动时需要开启的服务
      • 数字代表了开启或者关闭的顺序
      • 所有的文件都是软链接(快捷方式),链接的地址为/etc/init.

  • 当启动完毕,所有的服务


系统服务

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

开机自启动服务

  • rc.local(当这个文件有执行权限后,开机后会自动执行)
    • 首先创建脚本存放的文件夹
      • mkdir -p /usr/local/scripts
    • 在文件夹中创建脚本文件
      • vi hello.sh
      • 给予执行权限
      •  
    • 去/etc/rc.d/rc.local文件中添加脚本的绝对路径
      • 给予rc.local执行权限

 

  • chkconfig  
    • 先将rc.local取消执行权限,再开始测试
      • chmod  a-x rc.local
    • 创建开机自启动脚本文件
    • vi schoolntpdate.sh
    • #!/bin/bash
      #chkconfig:2345 88 99
      #description:schoolntpdate.sh
      
      ##  开机自启动同步时间
      yum info ntp && ntpdate cn.ntp.org.cn
    • 给其设置执行权限
      • chmod a+x schoolnptdate.sh
    • 将脚本拷贝到 /etc/init.d目录下
      • cp schoolntpdate.sh /etc/init.d/
    • 添加到服务
      • chkconfig --add /etc/init.d/schoolntpdate.sh
    • 重启服务器
      • reboot


定时任务

  • 在系统服务中心,crond负责周期任务
    • systemctl status crond.service
  • 添加任务,编辑当前用户的任务列表
    • crontab -e
  • 编辑任务
    • 星 星 星 星 星  command
      分 时 日 月 周 命令
      第一列表示分钟1~59  每分钟用*或者*/1表示
      第二列表示小时1~23(0表示0点)
      第三列表示日期1~31
      第四列表示月份1~12
      第五列标识号星期0~6(0表示星期天)
      第六列表示要运行的命令
      
      *: 表示任何时间都,实际上就是“每”的意思。可以代表00-23小时或者00-12每月或者00-59分
      -: 表示区间,是一个范围,00 17-19 * * * cmd,就是每天17,18,19的整点执行命令
      ,: 是分割时段,30 3,19,21 * * * cmd,就是每天凌晨3和晚上19,21的半点时刻执行命令
      /n: 表示分割,可以看成除法,*/5 * * * * cmd,每隔五分钟执行一次
    • 30 21 * * * /usr/local/rc.d/Lighttpd restart
      #上面的例子表示每晚21:30重启apache
      
      45 4 1,10,22 * * /usr/local/rc.d/Lighttpd restart
      #上面的例子表示每月1,10,22日的4:45重启apache
      
      10 1 * * 6,0 /usr/local/rc.d/Lighttpd restart
      #上面的例子表示周六、周日的1:10重启apache
      
      0,30 18-23 * * * /usr/local/rc.d/Lighttpd restart
      #上面的例子表示每天的18:00至23:0每隔30分钟重启apache
      
      0 23 * * 6 /usr/local/rc.d/Lighttpd restart
      #上面的例子表示每星期六的11:00重启apache
      
      * */2 * * * /usr/local/rc.d/Lighttpd restart
      #上面的例子表示每两小时重启apache
      
      * 23-7/1 * * * /usr/local/rc.d/Lighttpd restart
      #上面的例子表示晚上的11点到早上的7点之间,每隔一小时重启apache
      
      0 21 4 * mon-wed /usr/local/rc.d/Lighttpd restart
      #上面的例子表示每月的4号与每周一到周三的11点重启apache
      
      0 4 1 jan * /usr/local/rc.d/Lighttpd restart
      #上面的例子表示一月一号的4:00重启apache
      
      --(功能描述:显示年月日时分秒)
      date "+%Y %m %d %H %M %S"
    • 重启crontab,使配置生效
      • systemctl restart crond.service
    • 通过crontab -l
      • 查看当前的定时任务
    • 查看任务的历史
      • vi /var/spool/mail/root
    • 清除任务
      • crontab -r
    • 测试
      • 创建一个创建文件夹的脚本
        • #!/bin/bash
          
          dname=`date "+%Y%m%d%H%M%S"`
          mkdir -p ~/$dname
      • 添加定时任务,每一分钟创建一个文件夹
        • crontab -e #编辑定时任务

        • systemctl restart crond.service  #重启生效
        • crontab -l  #查看当前的定时任务
      • 查看是否创建

      • 清除任务

相关推荐:《Linux视频教程

以上是深入浅析了解Linux学习笔记之系统任务设置的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:csdn.net。如有侵权,请联系admin@php.cn删除