任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
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 -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
查询指定目录的磁盘占用情况
基本语法
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