百味皆苦 java后端开发攻城狮

Linux复习任务调度和磁盘分区挂载

2019-04-05
百味皆苦

调度概述

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:
	1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
	2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql 数据库的备份。
基本语法
	crontab [选项]
常用选项
	-e 编辑crontab定时任务
	-l 查询crontab任务
	-r 删除当前用户所有的crontab任务
	service crond restart [重启任务调度]
参数细节
	第一个* 一小时当中的第几分钟  范围0-59
	第二个* 一天当中的第几小时    范围0-23
	第三个* 一个月中的第几天      范围1-31
	第四个* 一年中的第几个月      范围1-12
	第五个* 一周当中的星期几      范围0-7(0和7都代表星期日)
符号说明
	* 代表任何时间,比如第一个*代表一小时中每分钟都执行一次
	, 代表不连续的事件,比如“0 8,12,16 * * *”代表在每天的八点,十二点,十六点都执行一次命令
	- 代表连续的时间范围。0 5 * * 1-6代表在周一到周六的凌晨五点执行命令
	*/n 代表每隔多久执行一次。*/10 * * * * 代表每隔十分钟执行一次
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab –e 命令。
接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt 命令

1)	cron -e
2)	*/ 1 * * * * ls -l /etc >> /tmp/to.txt
3)	当保存退出后就程序。
4)	在每一分钟都会自动的调用 ls -l /etc >> /tmp/to.txt
案例1:每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件

1)	先编写一个文件 /home/mytask1.sh 
	date >> /tmp/mydate
2)	给mytask1.sh 一个可以执行权限chmod 744 /home/mytask1.sh
3)	crontab -e
4)	*/1 * * * * /home/mytask1.sh
5)	成功
案例2:每隔1 分钟, 将当前日期和日历都追加到 /home/mycal 文件

1)	先编写一个文件 /home/mytask2.sh 
	date >> /tmp/mycal
	cal >> /tmp/mycal
2)	给mytask1.sh 一个可以执行权限chmod 744 /home/mytask2.sh
3)	crontab -e
4)	*/1 * * * * /home/mytask2.sh
5)	成功
案例3:每天凌晨2:00 将mysql 数据库 testdb ,备份到文件中mydb.bak

1) 先编写一个文件 /home/mytask3.sh
	/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak
2) 给mytask3.sh一个执行权限
	chmod 744 /home/mytask3.sh
3)	crontab -e
4)	0 2 * * * /home/mytask3.sh
5)	成功

磁盘分区

1) mbr 分区:
	1.	最多支持四个主分区
    2.	系统只能安装在主分区
    3.	扩展分区要占一个主分区
    4.	MBR 最大只支持2TB,但拥有最好的兼容性
2) gtp 分区:
	1.	支持无限多个主分区(但操作系统可能限制,比如 windows 下最多128 个分区)
    2.	最大支持18EB 的大容量(1EB=1024 PB,1PB=1024 TB )
    3.	windows7 64 位以后支持gtp
1)Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。

2)Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
1)	Linux 硬盘分IDE 硬盘和SCSI 硬盘,目前基本上是SCSI 硬盘
2)	对于IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指IDE 硬盘了。“x”为盘号		(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,前四个分区用数字1 到4 表	 示,它们是主分区或扩展分区,从5 开始就是逻辑分区。例,hda3 表示为第一个IDE 硬盘上的第三个主分区或扩	展分区,hdb2 表示为第二个IDE 硬盘上的第二个主分区或扩展分区。
3)对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE 硬盘的表示方   法一样。

lsblk

使用lsblk 指令查看当前系统的分区情况
查询系统的分区和挂载情况

lsblk -f
lsblk

挂载案例

需求是给我们的Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk
如何增加一块硬盘

1)虚拟机添加硬盘
2)分区 fdisk /dev/sdb
3)格式化 mkfs -t ext4 /dev/sdb1
4)挂载 先创建一个 /home/newdisk , 挂载 mount /dev/sdb1 /home/newdisk
5)设置可以自动挂载(永久挂载,当你重启系统,仍然可以挂载到 /home/newdisk) 。

vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 defaults 0 0

磁盘情况

查询系统整体磁盘使用情况
基本语法
	df -h
查询系统整体磁盘使用情况

df -lh
查询指定目录的磁盘占用情况
基本语法
	du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
	-s 指定目录占用大小汇总
	-h 带计量单位
	-a 含文件
	-c 列出明细的同时,增加汇总值
	--max-depth=1 子目录深度
查询 /opt 目录的磁盘占用情况,深度为1

du -ach --max-depth=1 /opt

工作指令

1) 统计/home 文件夹下文件的个数

ls -l /home | grep "^-" wc -l
2) 统计/home 文件夹下目录的个数

ls -l /home | grep "^d" wc -l
3) 统计/home 文件夹下文件的个数,包括子文件夹里的

ls -lR /home | grep "^-" wc -l
4) 统计文件夹下目录的个数,包括子文件夹里的

ls -lR /home | grep "^d" wc -l
5) 以树状显示目录结构

yum instal tree
tree

Comments

Content