• 【Linux私房菜】第五期 —— 定时任务与磁盘


    一、定时任务

    • 概述:定时的去执行一些我们预设的指令或脚本,同时也分为两种情况:周而复始的执行、只执行一次

    1.crond 定时任务调度

    💙 设置多久执行一次定时任务,可以是指令也可以是脚本

    请添加图片描述
    💙 语法格式* * * * * 任务

    任务含义范围
    第一个 “*”一小时当中的第几分钟0-59
    第二个 “*”一天当中的第几小时0-23
    第三个 “*”一月当中的第几天1-31
    第四个 “*”一年当中的第几月1-12
    第五个 “*”一周当中的星期几0-7(0和7都代表星期日)

    💙执行流程
    (1)创建定时任务 crontab -e
    (2)编辑定时任务 */1 * * * * date >> /home/yaya/date.txt【举个栗子】
    (3)按Esc,输入:wq保存并退出

    • 通过选项 l 可以查看利用 crontab 创建的定时任务crontab -l
      在这里插入图片描述
      查看 date.txt 文件,看定时任务是否执行成功
      在这里插入图片描述
    • 通过选项 r 可以删除所有定时任务crontab -r
      在这里插入图片描述
      通过指令可以重启定时任务: service crond restart

    💙特殊符号说明:

    符号含义
    *代表任何时间
    ,代表不连续的时间
    -代表连续的时间范围
    */n代表每隔多久执行一次

    案例分析:

    (1)*/1 * * * *代表每一分钟

    (2)0 8,12,16 * * *代表每天的八点、十二点、十六点整

    (3)0 8 * * 1-5代表每周的周一到周五八点整

    (4)*/15 * * * * 代表每隔十五分钟


    2. at      定时任务调度

    • ad 命令属于一次性定时计划任务,执行完一个任务后不再执行此任务
    • at 的守护进程 atd 以后台模式运行,用于检查作业队列,使用 at 命令要确保 atd 处于运行状态
    • 默认情况为 60秒检查一次作业队列请添加图片描述

    🌔 检查 atd 是否处于运行状态:

    ps -ef | grep atd
    
    • 1

    在这里插入图片描述

    🌔 创建一个 at 定时任务:

    (1)设置时间: at now + minutes
    (2)任务内容:echo "hello boy!"【并没有定时输出到控制台,而是通过发邮件来完成的】
    (3)按两次 Ctrl + D 保存任务并退出

    在这里插入图片描述

    🌔 时间的定义:【主要有一下几种方法】

    (1)当天的 小时:分钟,如果时间已经过去那么就会在第二天执行
    (2)利用模糊的词语指定时间,midnight、noon、teatime
    (3)采用十二小时计时制,AM、PM
    (4)采用具体的日期,HH:MM year-month-day
    (5)相对计时法, now + count time-units

    now 代表当前时间,count 代表阿拉伯数字,time-units 代表时间单位【minutes、hours、days、weeks
    (6)直接使用 today(今天)、tomorrow(明天)

    🌔 提供的选项:
    请添加图片描述


    二、磁盘分区与挂载

    💌 1.分区的概念?

    在Linux中,分区就是把一片空间分割成多块。【将块设备按照物理地址分成若干区域作为可独立管理的电子设备】

    💌 2.分区与Linux文件系统的联系?

    每个硬盘有很多个分区,Linux 将每个分区挂载到对应目录上。
    请添加图片描述

    💌 3.硬盘符号都代表什么呢?

    首先:硬盘分为两种,第一种是IDE硬盘,第二种是SCSI硬盘【第二种比较常用,以它为例】

    该种硬盘标识sdx~:

    其中 sd 标志着是SCSI类型的硬盘分区;

    x 为盘号,有几个盘号就对应几块硬盘;

    盘号代表含义
    a基本盘
    b基本从属盘
    c辅助主盘
    d辅助从属盘

    ~ 代表分区,用数字表示为当前硬盘的几号分区

    以我自己的CentOS为例【只分配了一块硬盘】

    请添加图片描述

    sda 代表一块SCSI类型的基本盘,只有三个分区,分别挂载到了 boot 、 / 、swap 目录下

    💌 4.如何查看分区的挂载情况呢?

    通过lsblk指令可以查看分区的挂载情况【如上图】

    也可以再添加一个选项:-f可以显示出每个分区在格式化后产生的唯一的四十位的标识符【UUID】

    请添加图片描述

    💌 5.如何为自己的Linux系统增加硬盘呢?【磁盘分区、格式化、挂载】

    (1)通过虚拟机的设置添加硬盘

    请添加图片描述

    按照提示下一步到分配磁盘大小【此处以1G为例】

    请添加图片描述

    添加成功后可以如下显示

    请添加图片描述

    (2)重启系统就可以识别到新硬盘

    在终端中,可以通过reboot指令重启虚拟机,通过lsblk指令再次查看硬盘情况即可

    请添加图片描述

    此时已经识别到了主盘辅助盘 **sdb **,但是还没为其分区进而没有显示挂载情况。

    (3)为硬盘添加分区

    通过fdisk /dev/sdb指定是 **sdb **这块硬盘,通过m可以查看对硬盘操作指令的帮助信息【系统管理员或具有管理员权限的用户才能使用这条指令】

    请添加图片描述

    选择命令n进行分区:【分区号我设为 sdb2(1-4),其他的默认即可】

    请添加图片描述

    此时分区的信息只是保存在内存中,通过命令w将信息写入到硬盘中【如果想取消分区配置输入q退出】
    请添加图片描述

    此时再次查看已经可以显示出分区,但因为没有格式化所以是没有UUID【】的

    请添加图片描述

    (4)格式化新添加的硬盘

    利用mkfs -t ext4 /dev/sdb2指令来完成硬盘格式化

    该指令有三个选项,这个 ext4 就是一种文件系统类型,虚拟机为各种文件系统提供统一的接口。
    请添加图片描述

    此时可以看出 sdb2 的通用唯一标识码已经有了【UUID】
    请添加图片描述

    (5)将硬盘挂载到指定目录下

    首先确定要挂载的目录,因为后期要取消这个硬盘,所以我在根目录下手动创建一个新目录 mkdir \newfile

    通过mount /dev/sdb2 /newfile指令将硬盘设备 **sdb2 **挂载到根目录下的 **newfile **目录下

    通过lsblk -f查看详细情况,可以看出 **sdb2 **的挂载点为 /newfile

    请添加图片描述


    6.那么如何卸载一个硬盘呢?【指的是断开与挂载点的连接】

    可以通过umount 设备或挂载目录卸载已经挂载的设备。

    有一个值得注意的点,通过命令行完成挂载的在系统重启后会失效。

    请添加图片描述

    7.那么如何实现永久挂载呢?

    通过vim /etc/fstab指令修改该文件的配置信息,来实现永久挂载【可以使用UUID也以使用硬盘的地址】
    请添加图片描述

    通过mount -a指令立刻生效或重启系统后自动生效。

    PS:对vim编辑器的用法不了解可以查看这边文章点击跳转


    8.如何查询磁盘的使用情况呢?

    (1)通过df -h可以查看磁盘的整体使用情况,其中** .host:/** 是共享文件夹的使用情况【当使用情况超过百分之八十就需要清理或添加新磁盘了】

    请添加图片描述

    (2)也可以通过du -h查询指定目录的磁盘使用情况【默认是将其子目录也全部显示出来的】

    为了不显示子目录我们可以通过选项--max-depth=x指定显示深度为x的目录信息。

    请添加图片描述

    该命令提供了一些参数供选择:

    请添加图片描述


    9.磁盘有没有哪些比较实用的指令呢?【以opt目录为例】

    (1)统计目录下普通文件的个数

    通过ls -l \opt | gerp "^-" | wc -l指令来完成文件的计数

    整体分为三次处理,第一次以长格式显示出 opt 目录下的所有文件,接着通过管道过滤利用gerp指令结合正则表达式筛选出以-开头的信息,最后再通过管道利用 wc指令完成计数。

    请添加图片描述

    (2)统计目录下目录的个数

    与上述指令类似,只需要将正则表达式的-修改成d即可

    请添加图片描述

    (3)统计目录下以及子目录下普通文件的个数【通过参数R递归显示子目录信息】

    通过指令ls -lR /opt | grep "^-" | wc -l来完成

    请添加图片描述

    (4)统计目录下以及子目录下目录的个数【通过参数R递归显示子目录信息】

    通过指令ls -lR /opt | grep "^d" | wc -l来完成

    请添加图片描述

    (5)以树状显示目录结构【默认情况下没有tree指令,可以通过 yum install tree来安装指令】

    通过tree 目录指令查看指定目录的属性结构【部分截图】

    请添加图片描述

  • 相关阅读:
    产品经理薪资水涨船高的根本原因是什么?
    深度学习Hotel-ID打击人口贩卖(1)项目介绍和数据预处理
    树莓派开机自动播放U盘里的照片和视频
    Hilt详解
    利用Python将dataframe格式的所有列的数据类型转换为分类数据类型
    10.DesignForSymbols\AddLibTextLabelsAll
    Codeforces Round 908 (Div. 2)视频详解
    Maven
    如何做网站推广-外链为皇
    Python独具特色的语法规范点梳理
  • 原文地址:https://blog.csdn.net/qq_61323055/article/details/126859751