linux实操总结—任务调度、磁盘管理

本文详细介绍了Linux系统中如何使用crontab进行定时任务调度,包括不同时间间隔的任务设置和利用shell脚本实现任务。同时,讲解了磁盘分区和挂载过程,从新增硬盘、设置分区、格式化到挂载和永久挂载的步骤,并展示了查询磁盘使用情况的相关命令。
摘要由CSDN通过智能技术生成

一、crontab任务调度

1.基础介绍

  • crontab 进行 定时任务的设置
  • 任务调度:是指系统在某个时间执行的特定的命令或程序。
  • 任务调度分类:
    1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
    2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。

在这里插入图片描述

1.1 占位符

在这里插入图片描述
在这里插入图片描述

1.2 特殊符号

在这里插入图片描述

1.3 相关指令

  1. conrtab –r:终止任务调度。
  2. crontab –l:列出当前有那些任务调度
  3. service crond restart [重启任务调度]

2.案例说明

2.1 每小时的第1分钟自动化执行ls –l /home/ >> home/to.txt命令

[root@hadoop home]# ls -l
总用量 48
-rwxr-xr-x. 1 tom  police    0 2月  21 23:19 abc.txt
-rw-r--r--. 1 tom  root      0 2月  21 19:27 apple.txt
-rw-r--r--. 1 root police 1796 2月  17 21:43 a.txt
-rw-r--r--. 1 root root     53 2月  18 11:03 hello.txt
-rw-r--r--. 1 root root    142 2月  17 21:46 mycal
-rw-r--r--. 1 root root    466 2月  17 22:20 mydata.txt
-rw-r--r--. 1 root root   5685 2月  18 14:41 myhome.tar.gz
-rw-r--r--. 1 root root   6510 2月  18 11:29 mypackage.zip
drwxr-xr-x. 3 root root   4096 2月  18 14:47 test
drwx------. 4 tom  police 4096 2月  22 01:07 tom
drwx------. 4 tom  police 4096 2月  15 18:07 xm
drwx------. 5 zwj  wudang 4096 2月  16 22:30 zwj

[root@hadoop home]# crontab -e

在这里插入图片描述

[root@hadoop home]# ls
......  to.txt .....

在这里插入图片描述

[root@hadoop home]# more to.txt

在这里插入图片描述
此后,to.txt就会每分钟记录一下目录。

# 关闭所有自动化调度
[root@hadoop home]# crontab -r
no crontab for root

2.2 每隔1分钟,就将当前的日期信息,追加到 /home/test/mydate 文件中(区别上面,利用脚本完成)

编写一个shell脚本并输入执行程序,mydate自动生成

[root@hadoop home]# vim mytask1.sh
# 下图应该是date不是data

在这里插入图片描述
赋予shell脚本可执行权限

[root@hadoop home]# chmod 744 /home/mytask1.sh 

执行并输入调度shell脚本

[root@hadoop home]# crontab -e

在这里插入图片描述
查看

[root@hadoop test]# more mydate
Thu Mar  3 19:40:01 CST 2022

总结:
脚本为执行的任务,调度调用脚本并设置相关时间和路径即可,存放的地址文件自动生成。

2.3 每隔1分钟, 将当前日期和日历都追加到 /home/mycal 文件中

方法同上。

[root@hadoop home]# vim mytask2.sh

在这里插入图片描述

[root@hadoop home]# chmod 744 /home/mytask2.sh
[root@hadoop home]# crontab -e
crontab: installing new crontab
[root@hadoop test]# ls
a.tar.gz  a.txt  b.txt  home  mycal  mydate  pig.txt
[root@hadoop test]# more mycal
Thu Mar  3 19:57:01 CST 2022
     March 2022     
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

2.4 每天凌晨2:00 将mysql数据库 testdb ,备份到文件中。

在这里插入图片描述
在这里插入图片描述

二、磁盘分区、挂载

1.使用lsblk指令查看当前系统分区情况

在这里插入图片描述

2.增加一个新分区并挂载到/home/newdisk

2.1 新增一个硬盘

在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,
至到完成。然后重启系统(才能识别)!
在这里插入图片描述
查看发现新增硬盘成功,但是没有分区和挂载
在这里插入图片描述

2.2 设置分区

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

[root@hadoop ~]# fdisk /dev/sdb 

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x6eee044c.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m

Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n

Command action
   e   extended
   p   primary partition (1-4)
   
p

Partition number (1-4): 1

First cylinder (1-261, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): 
Using default value 261

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@hadoop ~]# lsblk -f
NAME   FSTYPE  LABEL            UUID                                 MOUNTPOINT
sr0    iso9660 CentOS_6.8_Final                                      /media/CentOS_6.8_Final
sda                                                                  
├─sda1 ext4                     4e123c3d-115c-49df-b29b-70da93a96993 /boot
├─sda2 swap                     ad4896ed-7893-4c00-a4c7-06abc13b327e [SWAP]
└─sda3 ext4                     1785a69d-9449-4e60-96c6-3f54189e30ea /
sdb                                                                  
└─sdb1    

2.3 格式化磁盘

[root@hadoop ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524112 blocks
26205 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@hadoop ~]# lsblk -f
NAME   FSTYPE  LABEL            UUID                                 MOUNTPOINT
sr0    iso9660 CentOS_6.8_Final                                      /media/CentOS_6.8_Final
sda                                                                  
├─sda1 ext4                     4e123c3d-115c-49df-b29b-70da93a96993 /boot
├─sda2 swap                     ad4896ed-7893-4c00-a4c7-06abc13b327e [SWAP]
└─sda3 ext4                     1785a69d-9449-4e60-96c6-3f54189e30ea /
sdb                                                                  
└─sdb1 ext4                     b68c252a-aa05-4fa7-92ef-97327e6b6143 

2.4 挂载

将分区与目录联系起来

# 创建目录
[root@hadoop ~]# cd /home
[root@hadoop home]# mkdir newdisk

# 挂载
[root@hadoop home]# mount /dev/sdb1 /home/newdisk
[root@hadoop home]# lsblk -f
NAME   FSTYPE  LABEL            UUID                                 MOUNTPOINT
sr0    iso9660 CentOS_6.8_Final                                      /media/CentOS_6.8_Final
sda                                                                  
├─sda1 ext4                     4e123c3d-115c-49df-b29b-70da93a96993 /boot
├─sda2 swap                     ad4896ed-7893-4c00-a4c7-06abc13b327e [SWAP]
└─sda3 ext4                     1785a69d-9449-4e60-96c6-3f54189e30ea /
sdb                                                                  
└─sdb1 ext4                     b68c252a-aa05-4fa7-92ef-97327e6b6143 /home/newdisk

# 取消挂载
[root@hadoop home]# umount /home/newdisk
umount: /home/newdisk: not mounted
[root@hadoop home]# lsblk -f
NAME   FSTYPE  LABEL            UUID                                 MOUNTPOINT
sr0    iso9660 CentOS_6.8_Final                                      /media/CentOS_6.8_Final
sda                                                                  
├─sda1 ext4                     4e123c3d-115c-49df-b29b-70da93a96993 /boot
├─sda2 swap                     ad4896ed-7893-4c00-a4c7-06abc13b327e [SWAP]
└─sda3 ext4                     1785a69d-9449-4e60-96c6-3f54189e30ea /
sdb                                                                  
└─sdb1 ext4                     b68c252a-aa05-4fa7-92ef-97327e6b6143 

2.5 永久挂载

上面挂载后,重启后就消失了,因此通过修改/etc/fstab实现永久挂载。

[root@hadoop home]# vim /etc/fstab

在这里插入图片描述

# 即可生效
[root@hadoop home]# vim /etc/fstab

3. 磁盘使用情况查询

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

# 整个系统的和目录没关系
[root@hadoop home]# df -lh
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  3.2G   14G  20% /
tmpfs           996M   76K  996M   1% /dev/shm
/dev/sda1       190M   39M  142M  22% /boot
/dev/sr0        3.7G  3.7G     0 100% /media/CentOS_6.8_Final
/dev/sdb1       2.0G  3.0M  1.9G   1% /home/newdisk

[root@hadoop ~]# df -lh
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  3.2G   14G  20% /
tmpfs           996M   76K  996M   1% /dev/shm
/dev/sda1       190M   39M  142M  22% /boot
/dev/sr0        3.7G  3.7G     0 100% /media/CentOS_6.8_Final
/dev/sdb1       2.0G  3.0M  1.9G   1% /home/newdisk

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

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

查询/home目录的磁盘占用情况,深度为1

[root@hadoop ~]# du -ach --max-depth=1 /home
4.0K    /home/mytask1.sh
8.0K    /home/mypackage.zip
20K     /home/newdisk
0       /home/abc.txt
36K     /home/xm
4.0K    /home/mytask2.sh
4.0K    /home/a.txt
4.0K    /home/hello.txt
36K     /home/zwj
4.0K    /home/mycal
0       /home/apple.txt
4.0K    /home/to.txt
36K     /home/tom
8.0K    /home/myhome.tar.gz
4.0K    /home/mytask3.rh
248K    /home/test
424K    /home
424K    总用量

3.3 工作实用指令

  1. 统计/home文件夹下文件的个数
# 一般文件都是以-开头的
[root@hadoop ~]# ls -l /home | grep "^-" | wc -l
11
  1. 统计/home文件夹下文件的个数,包括子文件夹里的
[root@hadoop ~]# ls -lR /home | grep "^-" | wc -l
40
  1. 统计/home文件夹下目录的个数
[root@hadoop ~]# ls -l /home | grep "^d" | wc -l
5
  1. 以树状显示目录结构

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值