Linux
九 crond任务调度
在Linux中可以使用crond机制来设定一个定时的任务,该任务可以是一个脚本也可以是一段代码,用于完成某项工作(如备份mysql数据)。如果是简单任务,可以不用写脚本,直接在crontab中书写代码即可;对于比较复杂的任务需要使用shell脚本。
-
概述
任务调度是指系统在某个时间执行的特定命令或者程序,分为系统工作和个别用户工作。- 系统工作:有一些重要的工作必须周而复始的执行,如病毒扫描等
- 个别用户工作:个别用户可能希望执行某些程序,比如对mysql的数据备份
-
基本语法
crontab [选项]
,常用参数有:crontab -e
:表示编辑crontab定时任务crontab -l
:表示查询crontab任务crontab -r
:表示删除当前用户所有的crontab任务
-
使用步骤
- 使用
crontab -e
来开启任务调度编辑 - 以简单代码或者shell脚本的方式开启该任务
如*/1 * * * * date >>/home/mydate.txt
- 使用
-
参数细节说明
-
五个占位符说明
需要注意的是,几号或者是星期几不应同时出现,否则会引起管理员的混乱- 第一个占位符
*
,表示一小时中的第几分钟(0-59) - 第二个占位符
*
,表示一天中的第几小时(0-23) - 第三个占位符
*
,表示一个月中的第几天(1-31) - 第四个占位符
*
,表示一年中的第几个月(1-12) - 第五个占位符
*
,表示一个星期中的星期几(0-7)
- 第一个占位符
-
特殊符号说明
*
代表的是任何时间,
代表的是不连续的时间,如0 8,12 * * *
代表每天的8:00,12:00执行该任务-
代表的是连续的事件,如0 1-6 * * *
*/n
代表的是每隔多长事件就执行一次
-
有时需要给予shell脚本执行权限,则会用到
chmod
与crontab
组合chmod 774 mytask.sh
crond -e 0 2 * * * /home/mytask.sh
-
十 Linux磁盘分区和挂载
Linux支持两种分区方式,一种是mbr分区,一种是gpt分区
- mbr分区:最多支持四个主分区,系统只能安装在主分区,拓展分区要占用一个主分区。MBR最大只支持2TB,但拥有良好的兼容性。
- gpt分区:支持无限多个主分区,但是操作系统会进行限制。最大支持18EB容量。
对于Linux来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。linux中每个分区都是用来组成整个文件系统的一部分。Linux提供了一种挂载
的处理方法,他的整个文件系统包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这是要载入的一个分区将使他的存储空间在一个目录下获得。(即使用mount和unmount将分区挂在到/mnt
目录下的目录中)
Linux硬盘分为IDE盘和SCSI盘。在Linux系统中存在一些指令来查询当前系统分区和磁盘的使用状况
- IDE盘:驱动器标识为
hdx~
,hd代表的是IDE盘,x表示盘号(a为基本盘,b为从属基本盘,c为辅助主盘,d为辅助从属盘)。~代表分区,1-4表示主分区或者扩展分区,5以后为逻辑分区。如hda3
表示第一个IDE盘上的第3哥主分区或者扩展分区。 - SCSI盘:驱动器标识为
sdx~
,其他与IDE盘表示一致
- 使用
lsblk
查看当前系统的分区情况
使用lsblk -f
查看当前系统分区和挂载情况,如
sda1 ext4 493e7798-f956-4108-9e51-876f1abafc75 /boot
使用lsblk
还可以用于显示磁盘分区大小,如
sda1 8:1 0 200M 0 part /boot
- 使用指令
df -h
查看磁盘整体使用情况
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 894M 0 894M 0% /dev
tmpfs 910M 16K 910M 1% /dev/shm
tmpfs 910M 22M 889M 3% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 18G 4.7G 14G 27% /
/dev/sdb1 20G 45M 19G 1% /home/newdisk
/dev/sda1 197M 187M 11M 95% /boot
tmpfs 182M 0 182M 0% /run/user/0
- 查询指定目录的磁盘使用情况
使用指令du -h /目录
可以查询指定目录的磁盘占用情况,默认为当前目录,可用参数有:
(1)-s
,查询指定目录占用大小汇总
(2)-h
,带计量单位
(3)-a
,包含文件
(4)--max-depth=1
,设置子目录深度为1
(5)-C
,列出明细的同时增加汇总值
如du -ach --max-depth=1 /opt
- 查看磁盘状况的实用指令
- 统计
/home
目录下文件的个数
ls -l /home | grep ^- |wc -l
,wc为wordcount,wc -l表示显示行数 - 统计
/home
目录下文件夹的个数
ls -l /home | grep ^d |wc -l
- 统计
/home
目录下文件的个数,包含子目录中的个数
ls -lR /home | grep ^- | wc -l
- 以树状显示
/home
目录结构
tree /home
,当该指令无法使用时,使用yum install tree
安装
- 统计