一、定时任务调度
1、crond任务调度
定时任务设置
是指系统在某个时间执行的特定命令或程序
任务调度分类:
①系统工作:有些重要的工作必须周而复始地执行,如病毒扫描
②个别用户工作:个别用户可能希望执行某些程序,比如对MySQL数据库的备份
基本语法:crontab [选项]
设置任务调度条件:/etc/crontab
设置个人任务调度:crontab -e
再输入*/1****ls -l /etc/ > /tmp/to.txt
意思是每小时的每分钟执行ls -l /etc/ > /tmp/to.txt命令
2、应用案例
每隔一分钟就将当前的日期信息,追加到/tmp/mydate文件中
*/1**** date >> /tmp/mydate
每隔一分钟,将当前日期和日历都追加到/home/mycal文件中
vim /home/my.sh 写入两条内容
date >> /home/mycal
cal >> /home/mycal
给my.sh增加执行权限,chmod u+x /home/my.sh
crontab -e 增加/1**** /home/my.sh
每天凌晨两点将MySQL数据库testdb,备份到文件中,提示:指令为mysqldump -u root -p密码 数据库 >> /home/db.bak
crontab -e
0 2 *** mysqldump -u root -p密码 testdb >> /home/db.bak
service crond restart【重启任务调度】
3、at定时任务
①、at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
②、默认情况下,atd守护进程每六十秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
③、at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
④、在使用at命令时候,一定要保证atd进程启动,可以使用相关命令来查看:ps -ef | grep atd //可以检测atd是否在运行
at命令格式:at 【选项】【时间】,CTRL+D结束at命令的输入
4、at时间定义
①接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如:04:00
②使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间
③采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。例如: 12pm
④指定命令执行的具体日期,指定格式为month day (月日)或mm/dd/yy(月/日/年)或dd.mm.yy (日.月.年)指定的日期必须跟在指定时间的后面。例如:04:00 2021-03-1
使用相对计时法。指定格式为: now + count time-units ,now就是当前时间, time-units是时间单位,这里能够是minutes(分钟)、 hours(小时)、days(天)、 weeks(星期)。count是时间的数量,几天,几小时。例如:now + 5 minutes
直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。
5、案例
案例1:2天后的下午5点执行/bin/ls /home
案例2: atq命令来查看系统中没有执行的工作任务
案例3:明天17点钟,输出时间到指定文件内比如/root/date100.log
案例4:2分钟后,输出时间到指定文件内比如/root/date200.log
案例5:删除已经设置的任务, atrm编号
atrm 4 //表示将job 队列,编号为4的job删除
二、磁盘分区、挂载
1、Linux分区
Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分
Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得
2、硬盘说明
Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘,“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,他们是主分区或扩展分区,从5开始就是逻辑分区,如hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区
对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型,其余则和IDE硬盘的表示方法一样
3、查看所有设备挂载情况
命令:lsblk或者lsblk -f
4、挂载的经典案例
下面我们以增加一块硬盘为例来熟悉下磁盘的相关指令和深入理解磁盘分区、挂载、卸载的概念。
4.1、虚拟机添加硬盘
在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。然后重启系统(才能识别)!
4.2、分区
分区命令:fdisk /dev/sdb,开始对/sdb 分区
m:显示命令列表
p:显示磁盘分区,同fdisk -l
n:新增分区
d:删除分区
w:写入并退出
说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间,最后输入w
写入分区并退出,若不保存退出输入q。
4.3、格式化
格式化磁盘,命令mkfs -t ext4 /dev/sdb1
其中 ext4是分区类型
4.4、挂载
将一个分区与一个目录联系起来,
命令:mount 设备名称 挂载目录
例如:mount /dev/sdb1 /newdisk
umount 设备名称 或者 挂载目录
例如:umount /dev/sdb1 或者 umount /newdisk
注意:用命令行挂载,重启后会失效
4.5、设置可以自动挂载
通过修改/etc/fstab实现挂载,添加完成后执行mount -a即刻生效
5、磁盘情况查询
5.1、查询系统整体磁盘使用情况
基本语法:df -h
5.2、查询指定目录的磁盘占用情况
基本语法:du -h
查询指定目录的磁盘占用情况,默认为当前目录
-s指定目录占用大小汇总
-h带计量单位
-a含文件
--max-depth=1 子目录深度
-c列出明细的同时,增加汇总值
应用实例,查询lopt目录的磁盘占用情况,深度为1
6、磁盘情况-工作实用指令
①统计/opt文件夹下文件的个数
ls -l /opt | grep "^-" | wc -l
②统计/opt文件夹下目录的个数
ls -l /opt | grep "^d" | we -l
③统计/opt文件夹下文件的个数,包括子文件夹里的
ls -lR /opt | grep "^-" | wc -l
④统计lopt文件夹下目录的个数,包括子文件夹里的
ls -lR /opt / grep "^d" / wc -l
⑤以树状显示目录结构 tree目录,注意,如果没有tree ,则使用yum install tree安装
参考资料:韩顺平Linux——哔哩哔哩课程!