linux初学篇定时任务调度和linux磁盘分区挂载(代码片段)

吞吞吐吐大魔王 吞吞吐吐大魔王     2023-01-14     429

关键词:

前言: 本文是听的b站韩顺平老师 linux 课程的 52~62 集所做的笔记,大家可以配套该文章学习韩老师的 Linux 课程。大家可以收藏起来,以后要用时,随用随查。

1. crond 任务调度

什么是任务调度呢?

是指系统在某个时间执行的特定的命令或程序

任务调度分类

  • 系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等
  • 个别用户工作:个别用户可能希望执行某些程序,如对 mysql 数据库的备份

1.1 crontab 进行定时任务的设置

指令:crontab [选项]

常用选项:

选项描述
-e编辑 crontab 定时任务
-l查询 crontab 任务
-r删除当前用户所有的 crontab 任务

示例一:我们如果要将这个任务 ls -l /etc/ > /tmp/to.txt

  1. 设置个人任务调度指令:crontab -e

  2. 接着输入任务到调度文件,如:*/1**** ls -l /etc/ > /tmp/to.txt

    其中5个 “*” 号占位符说明:

    含义
    第一个 “*”一小时当中的每分钟都执行一次0-59(*/1:表示每隔一分钟执行一次)
    第二个 “*”一天当中的每小时都执行一次0-23
    第三个 “*”一个月当中的每天都执行一次1-31
    第四个 “*”一年当中的每个月都执行一次1-12
    第五个 “*”一周当中的每个星期都执行一次0-7(0和7都代表周日)

    特殊符号说明:

    特殊符号含义
    *代表任何时间。比如第一个 “*” 就代表一小时每分钟都执行一次的意思
    ,代表不连续时间,如 0 8,12,16 * * * 命令 代表在每天的8点0分,12点0分,16点0分都执行一次命令
    -代表连续时间范围,如 0 5 * * 1-6 命令 代表在周一到周六的凌晨5点0分执行命令
    */n代表每隔多久执行一次,如 */10 * * * * 命令 代表每隔10分钟就执行一遍命令

1.2 at 定时任务

介绍:

  • at 命令是一次性定时任务,at 的守护进程 atd 会以后台模式运行,检查作业队列来运行
  • 默认情况下,atd 守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
  • at 命令时一次性定时计划任务,执行完成一个任务后不会再执行此任务了
  • 在使用 at 命令时,一定要保证 atd 进程的启动,可以使用相关指令来查看

指令:at [选项] [时间]

结束 at 命令输入指令:ctrl + d(输入两次)

检测当前所有运行的进程信息指令:ps -ef

检查当前有无运行的 atd 进程指令:ps -ef | grep atd

选项介绍:

选项含义
-m当指定的任务被完成后,将给用户发送邮件,即使没有标准输出
-Iatq 的别名
-datrm 的别名
-v显示任务将被执行的时间
-c打印任务的内容到标准输出
-V显示版本信息
-q 指定队列使用指定队列
-f 文件从指定文件读入任务而不是从标准输入读入
-t 时间参数以时间参数的形式提交要运行的任务

at 指定时间的方法:

  1. 接受在当天的 hh:mm(小时:分钟)式的时间指定,假如该时间已过去,那么就在第二天执行
  2. 使用 midnight(深夜)、noon(中午)、teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间
  3. 采用12小时计时制,即在时间后面加上 AM(上午)或 PM(下午)来说明是上午还是下午
  4. 指定命令执行的具体日期,指定格式为:month day(月 日)或 mm/dd/yy(月/日/年)或 dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面
  5. 使用相对计时法,指定格式为:now + count time-untis,now 就是当前时间,time-untis 是时间单位,这个单位可以是:minutes(分钟)、hour(小时)、days(天)、weeks(星期)。count 是时间的数量。
  6. 直接使用 today(今天)、tomorrow(明天)来指定完成命令的时间

2. Linux 磁盘分区、挂载

2.1 分区原理

  • Linux 无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Linux 中每个分区都是用来组成整个文件系统的一部分。

  • Linux 采用了一种叫”载入“的处理方式,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

2.2 硬盘说明

  • Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘

  • 对于 IDE 硬盘,驱动器标识符为 hdx~,其中

    • hd :表明分区所在设备的类型,这里是指 IDE 硬盘

    • x :为盘号(a:基本盘,b:基本从属盘,c:辅助盘,d:辅助从属盘)

    • ~ :代表分区,前四个分区用数字1到4表示,它们是主分区或扩展区,从5开始就是逻辑分区。

    • 示例1:hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区

    • 示例2:hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区

  • 对于 SCSI 硬盘,驱动标识符为 sdx~

    SCSI 硬盘是用 sd 来表示区分所在的设备的类型,其余则和 IDE 硬盘的表示方法一样

2.3 增加一块硬盘的方式

2.3.1 虚拟机添加硬盘

在虚拟机菜单中,选择设置,然后设备列表里添加硬盘,然后一路下一步,中间只有选择磁盘大小的地方需要修改,直到完成。然后重启系统

2.3.2 分区

分区指令:fdisk /dev/磁盘名

输入上述指令开始对新磁盘进行分区操作:

开始分区后输入n,新增分区,然后选择p,让分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出

一些分区操作选项:

m:显示命令列表

p:显示磁盘分区

n:新增分区

d:删除分区

w:写入并退出

注意:

分区最后一定要输入w写入并退出,如果不保存退出则输入q

2.3.3 格式化(给分区指定文件类型)

格式化磁盘分区指令:mkfs -t 文件类型 /dev/分区名

2.3.4 挂载

挂载就是将一个分区与一个目录联系起来

挂载指令:mount 设备名称 挂载目录

示例:mount /dev/sdb1 /newdisk/

卸载指令:umount 设备名称umount 挂载目录

注意:

  • 卸载后原来分区内存放的文件一九存在
  • 用命令行挂载后,如果重启之前挂载的就会失效

2.3.5 设置可以自动挂载/永久挂载

通过修改 /etc/fstab 实现永久挂载

先 vim /etc/fstab,然后在里面添加要挂载的信息。如图

红框框的为添加的挂载信息,UUID 那块除了写挂载时的 UUID,也可以写 设备名称。

最后再保存退出

添加完成后,再执行 mount -a ,则即刻生效

2.4 磁盘情况实用指令

2.4.1 查看所有设备挂载情况

指令:lsblk 或 `lsblk -f

2.4.2 查询系统整体磁盘使用情况

指令:df -h

2.4.3 查询指定目录的磁盘占用情况

指令:du -h /目录(不带目录的话默认为当前目录)

常用参数:

-s:指定目录占用大小汇总

-h:带计量单位

-a:含文件

--max-depth=1:子目录深度为1

-c:列出明细的同时,增加汇总量

2.4.4 统计某个目录文件夹下文件的个数

指令1:ls -l 目录 | grep "^-" | wc -l (不包含子文件夹里的)

指令2:ls -lR 目录 | grep "^-" | wc -l (包含子文件夹里的)

2.4.5 统计某个目录文件夹下目录的个数

指令1:ls -l 目录 | grep "^d" | wc -l (不包含子文件夹里的)

指令:ls -lR 目录 | grep "^d" | wc -l (不包含子文件夹里的)

2.4.6 以树状显示目录结构

指令:tree 目录

注意:

如果没有 tree,则需要通过指令 yum install tree 进行安装

大数据学习之_01_linux学习_02_组管理和权限管理+定时任务调度+linux磁盘分区挂载+linux的网络配置+进程管理(重点)+软件包管理+大厂面试题+感悟分享+资料附录(代码片段)

...hown10.8修改文件所在组-chgrp10.9最佳实践-警察和土匪游戏11定时任务调度11.1crond任务调度12linux磁盘分区、挂载12.1分区的基本知识12.2Linux分区12.3挂载的经典案例12.4查询系统整体磁盘使用情况12.5查询指定目录的磁盘占用情况12.6磁盘... 查看详情

linux定时调度(crond和at)

...)三:crond任务调度案例四:at任务调度(一次性的定时任务)4.1at命令选项 ​一:crond任务调度(开启调度反复执行)二:crond任务调度的命令语句详细介绍(*/1等等)三:crond任务调度案例如果用脚本执行的话,写... 查看详情

linux篇|磁盘存储和文件系统(代码片段)

磁盘存储和文件系统分区文件系统挂载设备管理虚拟内存RAID管理LVM管理我们从一个新硬盘安装到Linux系统,期间的配置,一直到正常使用的角度,来学习磁盘存储和文件系统,过程如下:选择分区类型(MBR或GPT)-->创建分区-->... 查看详情

linux下定时任务(系统任务调度、用户任务调度)crontab使用详解

...执行该任务。用户在cron表(也被称为crontab文件)指定了定时任务,crontab也就是我们常见的定时任务设置命令。Linux下的任务调度分为两类,系统任务调度和用户任务调度。系统任务调度:系统周期性所要执行的工作,比如写缓... 查看详情

linux定时任务

每天凌晨一点执行,路径/home/user/a所有用户目前没有定时任务求完整命令及详细操作,菜鸟新手,谢谢啦linux定时任务使用crontab命令crontab命令说明crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务... 查看详情

linux定时任务调度(crontab)(代码片段)

...rontab”文件中,以供之后读取和执行。可以使用Crontab定时处理离线任务,比如每天凌晨2点更新数据等,经常用于系统任务调度。1.1服务启动和关闭一般Linux系统中都会装有Crontab,如果没有安装可以使用包管理工... 查看详情

linux定时任务crontab命令详解_转(代码片段)

转自:Linux定时任务Crontab命令详解 (部分修改)linux定时系统则是由cron(crond)这个系统服务来控制的。Linux系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外,由于使用者自己也可以设置计划任务... 查看详情

crontab命令脚本定时运行

一、crond简介crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否... 查看详情

linux定时任务crontab命令详解

linux系统则是由cron(crond)这个系统服务来控制的。Linux系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外,由于使用者自己也可以设置计划任务,所以,Linux系统也提供了使用者控制计划任务... 查看详情

linux计划任务

...调度,用户任务调度计划任务的安排方式分两种:一种是定时性的,也就是例行。就是每隔一定的周期就要重复来做这个事情一种是突发性的 查看详情

java定时任务工具详解之timer篇

Java定时任务调度工具详解什么是定时任务调度?◆基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务。在Java中的定时调度工具?◆ Timer      ◆QuartzTimer和Quarzt的区别?◆ 出身... 查看详情

linux下编写定时任务crontab

...考技术Alinux下的crontab服务:1、crontab是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。以某一频率执行任务linux缺省会启动crond进程,crond进程不需要用户启动、... 查看详情

crontab用法与实例

...Linux系统的实际使用中,可能会经常碰到让系统在某个特定时间执行某些任务的情况,比如定时采集服务器的状态信息、负载状况;定时执行某些任务/脚本来对远端进行数据采集等。这里将介绍下crontab的配置参数以及一些使用... 查看详情

crontab用法与实例

...Linux系统的实际使用中,可能会经常碰到让系统在某个特定时间执行某些任务的情况,比如定时采集服务器的状态信息、负载状况;定时执行某些任务/脚本来对远端进行数据采集等。这里将介绍下crontab的配置参数以及一些使用... 查看详情

大数据之路之linux篇(代码片段)

...查找指令find、location、grep3.2.12压缩和解压指令3.3Linux调度任务crontab,at3.4Linux进程管理3.5Linux软件管理RPM、YUM、TAR3.5.1软件管理RPM——默认安装路径3.5.2软件管理RPM——rpmqa软件查询3.5.3软件管理RPM——rpm软件安装、卸载3.5.4软... 查看详情

linux计划任务管理

...计划任务主要是做一些周期性的任务目前最主要的用途是定时备份数据Scheduleone-timetaskswithat.一次性调度执行atSchedulerecurringjobswithcron.循环调度执行cronSchedulerecurringsystemjobs.所有计划任务执行中的输出都会以邮件的方式发送给指定... 查看详情

分布式定时任务调度框架quartz学习与实战记录完整篇(代码片段)

...的任何任务。Quartz是OpenSymphony开源组织在Jobscheduling(定时调度)领域的开源项目,它可以与J2EE和J2SE应用程序相结合也可以单独使用。Quartz是开源且具有丰富特性的任务调度库,能够集成任何的Java 查看详情

分布式定时任务调度框架quartz学习与实战记录完整篇(代码片段)

...的任何任务。Quartz是OpenSymphony开源组织在Jobscheduling(定时调度)领域的开源项目,它可以与J2EE和J2SE应用程序相结合也可以单独使用。Quartz是开源且具有丰富特性的任务调度库,能够集成任何的Java 查看详情