Linux7.6—Shell编程

第四章:系统任务设置

文章目录

  • Linux7.6—Shell编程
  • 一.系统启动流程
  • 二.系统服务
  • 三.开机自启动服务
  • 四.定时任务

一.系统启动流程

  • 启动计算机的硬件(BIOS)

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

多用户开机时使用runlevel3,图形界面用runlevel5。

编号 模式 说明
0 Halt(关机) 让init关闭所有进程并终止系统
1 Single user mode(单用户模式) 用来将系统转到单用户模式,单用户模式只能有系统管理员进入,在该模式下处理那些在有登录用户的情况下不能进行更改的文件,改runlevel的编号1也可以用S代替
2 Multiuser, Withou,NFS(多用户模式,无网络状态)FS–>FileSystem 允许系统进入多用户的模式,但并不支持文件共享,这种模式很少应用
3 Full multiuser mode(多用户完整版模式) 最常用的运行模式,主要用来提供真正的多用户模式,也是多数服务器的缺省模式
4 unused(保留模式) 一般不被系统使用,用户可以设计自己的系统状态并将其应用到runlevel 4阶段,尽管很少使用,但使用该系统可以实现些特定的登录请求
5 X11(用户界面模式) 将系统初始化为专用的X Window终端
6 reboot(重启模式) 关闭所有运行的进程并重新启动系统
  • 开机引导分区在/etc/rc.d/这里

  • init.d:默认引导公共的组件或者服务
  • rc0-6.d:7种模式的组件或者服务,其中默认以runlevel=3开始启动对应的服务和组件(rc3.d)
  • rc.local:当给予了可执行权限后,此文件可以在引导期间进行执行。

  • 开始加载对应runlevel的服务

  • cd /etc/rc3.d/

    • K(Kill):关机时需要关闭的服务
    • S(Start):启动时需要开启的服务
    • 前面的数字代表了开启或者关闭的顺序
    • 所有的文件都是软链接,链接的地址为/etc/init.d
  • 当启动完毕,所有的服务也被加载完成。

二.系统服务

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

三.开机自启动服务

  • rc.local

    • 首先创建脚本存放的文件夹

      • mkdir -p /usr/local/scripts
    • 在文件夹中创建脚本文件
      • vi ntpdate.sh
      • 给予执行权限 chmod a+x ntpdate.sh
    • 去/etc/rc.d/rc.local文件中添加脚本的绝对路径/usr/local/scripts/ntpdate.sh
      • 给予rc.local执行权限 chmod a+x rc.local

  • 验证

  • chkconfig

    • 创建开机自启动脚本文件(任意路径)
    • vi ntpdate.sh
#!/bin/bash
#chkconfig: 2345 88 99
#description : auto_run#这两句不是注释,一定要加。
#将该脚本添加到runlevel2,3,4,5中,在其中添加S88和S99
#描述为自动运行#开机自启动同步时间
yum info ntp && ntpdate cn.ntp.org.cn
  • 给其设置执行权限

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

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

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

    • reboot

四.定时任务

  • 在系统服务中心,crond负责周期任务
#启动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-23小时或者00-12每月或者00-59分
-∶表示区间,是一个范围,0 17-19 * * * cmd,就是每天17,18,19点的整点执行命令
,:是分割时段,30 3,19,21 * * * cmd,就是每天凌晨3和晚上19,21点的半点时刻执行命令
/n:表示分割,可以看成除法,*/5 * * * * cmd,每隔五分钟执行一次
  • 例子
30 21 * * * /usr /local/etc/rc.d/1ighttpd restart
#上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/1oca1/etc/rc.d/1ighttpd restart
#上面的例子表示每月1、10、22日的4 :45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/1ighttpd restart
#上面的例子表示每周六、周日的1 :10重启apache。
0,30 18-23 * * * /usr/1oca1/etc/rc.d/1ighttpd restart
#上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
#上面的例子表示每星期六的11 : 00 pm重启apache。
*  */2 * * * /usr/ local/etc/rc.d/1ighttpd restart
#每两小时重启apache
* 23-7/1 * * * /usr/loca1/etc/rc.d/1ighttpd restart
#晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/loca1/etc/rc.d/lighttpd restart
#每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/1ighttpd restart
#一月一号的4点重启apachedate "+%Y%m%d%H%M%S"
#(功能描述:显示年月日时分秒)

  • 重启crontab,使配置生效
systemctl restart crond.service
  • 通过crontab -l

    • 查看当前的定时任务
  • 查看历史任务(只读)
    • vim /varlspool/mail/root
  • 清除任务
    • crontab -r

Linux7.6—Shell编程 学习笔记 第四章:系统任务设置相关推荐

  1. Linux shell编程学习笔记---第三章

    3.1正则表达式基础 正则表达式的主要功能是文本查询和字符串操作.实际上就是字符串过滤. 正则表达式包括普通字符(a,b,1,2等)他们都只有字面意思和元字符(*,^等)他们超越了字面意思,被给予了附 ...

  2. Linux shell编程学习笔记-----第六章变量和引用

    6.1变量 变量可分为本地变量(随着shell进程的消亡而消亡,类似于java C++ 中的局部变量),环境变量(适用于所有由登录进程产生的子进程),位置参数(用于向shell脚本传递参数,是只读的) ...

  3. SHELL编程学习笔记

    SHELL编程学习笔记 本文描述unix shell的各种应用实例,根据查阅资料和自我总结,作为自己今后复习的模板.本文搜集整理常用的shell应用实例,以例子详述unixshell部分命令的使用,着 ...

  4. Linux Shell编程学习笔记(2)

    Linux Shell编程学习笔记(2015-7-12) 分类:linux shell Shell变量 一:关于Shell变量   Shell是一种弱类型的语言,变量存储的一切值都是字符串.Shell ...

  5. 《Linux Shell编程学习笔记之一》

    <Linux Shell编程学习笔记之一> 前言 由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识.因此自己就准备花点时间来熟悉下li ...

  6. Linux Shell编程学习笔记(4)

    Linux Shell编程学习笔记(2015-7-20) 分类:linux shell   今天学习了Linux Shell中的控制结构.其实大多数语言的控制结构这一块都是基本类似的,有了C语言的基础 ...

  7. Linux Shell编程学习笔记(3)

    Linux Shell编程学习笔记(2015-7-19) 分类:linux shell 一:位置参数和特殊变量   什么是位置参数?   位置参数也叫位置变量,是运行shell脚本程序时,命令行she ...

  8. 《Go语言圣经》学习笔记 第四章 复合数据类型

    <Go语言圣经>学习笔记 第四章 复合数据类型 目录 数组 Slice Map 结构体 JSON 文本和HTML模板 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. ...

  9. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

最新文章

  1. windows ubuntu Android studio安装好启动没反应解决方法
  2. 查看systemctl或service启动服务日志
  3. c++预处理命令#pragma 用法
  4. springboot项目如何不依赖spring-boot-parent
  5. python怎么安装xlrd库_Python第三方库xlrd/xlwt的安装与读写Excel表格
  6. 51nod-1358:浮波那契
  7. python游戏编程讲解之凯撒密码
  8. 多开分身苹果版_【教程】苹果手机居然可以微信分身?全套教程,进来领取
  9. python的setting怎么找_python基础之setting设置,变量和关键字
  10. 用excel制作折线图
  11. 吉盟珠宝:300家门店异地沟通 效率居然远超“面对面”
  12. 苹果充电器怎么辨别真假_airpods怎么辨别真假?
  13. 史上最全的15个苹果手机输入法使用技巧,不看后悔三年
  14. ubuntu下docker的lnmp(二) 安装php-fpm之 下载镜像启动容器
  15. 以“人”为本,精准营销
  16. Outlook代收发其他邮箱(gmail, qqmail, aliyun, 163)
  17. 最新PHP全自动发信投稿系统源码+带后台
  18. antd vue 树更新数据后不展开_Vue 性能优化 - 去除 VNode
  19. 域用户桌面图标无法删除的解决办法
  20. 核心单词Word List 41

热门文章

  1. 牛客多校第十场F-Popping Balloons
  2. php——数组夯实基础篇
  3. 翻译科技论文,俄译中怎样效果好
  4. MSN样式的消息提示
  5. 如何恢复一个被误drop的存储过程
  6. json报错Exception in thread http-bio-8888-exec- java.lang.StackOverflowError
  7. 2022-05-14:语法补全功能,比如“as soon as possible“, 当我们识别到“as soon as“时, 基本即可判定用户需要键入“possible“。 设计一个统计词频的模型,
  8. [图文]诗圣,诗仙,诗魔的风流事迹
  9. 2021开源免费CMS建站系统怎么选择?
  10. 我是如何实现「朋友圈图片评论」的?