计划任务[At & Cron Jobs]

  • at
# at 命令只能计划一次性任务但是比较方便。
# 先输入时间
[root@localhost Desktop]# at 10:02
# 输入要做的事情
at> echo 222 > test.log
# CTRL + D 退出
at> <EOT>
job 2 at Fri Oct 25 10:02:00 2019
# 查看计划中的任务
[root@localhost Desktop]# atq
2 Fri Oct 25 10:02:00 2019 a root
# 时间过去后查看当前路径下 显示 10:02分创建了test.log
[root@localhost Desktop]# ll
total 4
-rw-r--r--. 1 root root 4 Oct 25 10:02 test.log
# 查看内容
[root@localhost Desktop]# cat test.log
222
  • crond周期性计划任务命令
crontab -e         # 进入编辑当前用户的计划任务
crontab -e -u kane # 为别的用户设置计划任务
crontab -l # 查看自己计划任务
crontab -l -u kane # 查看别的用户的计划任务
  • 创建计划任务
# 创建一个每隔1分钟echo一个内容并追加到一个文件中
[root@localhost Desktop]# crontab -e
*/1 * * * * /bin/date >> test2.log
# 查看一下
[root@localhost Desktop]# crontab -l
*/1 * * * * /bin/date >> /root/Desktop/test2.log
# 查看一下结果
Fri Oct 25 13:53:01 CST 2019
Fri Oct 25 13:54:01 CST 2019
Fri Oct 25 13:55:01 CST 2019
Fri Oct 25 13:56:02 CST 2019
Fri Oct 25 13:57:01 CST 2019
Fri Oct 25 13:58:01 CST 2019
Fri Oct 25 13:59:01 CST 2019
Fri Oct 25 14:00:01 CST 2019
Fri Oct 25 14:01:01 CST 2019
Fri Oct 25 14:02:01 CST 2019
Fri Oct 25 14:03:01 CST 2019
Fri Oct 25 14:04:02 CST 2019
Fri Oct 25 14:05:01 CST 2019
Fri Oct 25 14:06:01 CST 2019
Fri Oct 25 14:07:01 CST 2019
Fri Oct 25 14:08:01 CST 2019
Fri Oct 25 14:09:01 CST 2019
Fri Oct 25 14:10:01 CST 2019
Fri Oct 25 14:11:01 CST 2019
Fri Oct 25 14:12:01 CST 2019
Fri Oct 25 14:13:01 CST 2019
Fri Oct 25 14:14:01 CST 2019
Fri Oct 25 14:15:01 CST 2019
Fri Oct 25 14:16:01 CST 2019
Fri Oct 25 14:17:01 CST 2019
  • 计划任务格式介绍
# 基本介绍
┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 月中的天 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 周中的天 (0 - 6)[0是周日]
│ │ │ │ │ ┌──────────── 命令[注意:bin下保存命令最好用绝对路径.eg:/bin/date]
| | | | | |
* * * * * /bin/date > date.log # 特殊字符介绍
* 代表所有有效字符
- 代表一个范围(eg:1-4 代表 1,2,3,4)
, 代表一些列的指定值(eg:1,2,3)
/ 代表间隔频率(eg:*/1 * * * * 就是每分钟)(eg:* */2 * * * 就是每两个小时)
  • 计划任务黑白名单
# 黑名单
vi /etc/cron.deny
# 白名单
vi /etc/cron.allow
# 经过测试白名单的优先级比黑名单高

逻辑卷管理

  • 逻辑卷是对磁盘空间的划分和管理,创建过程是一个先整合在做划分的一个过程
  • 概念
1. 物理卷
指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
2. 卷组
是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
3. 逻辑卷
类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。
  • 创建流程
1. 创建物理卷	pvcreate
2. 创建卷组 vgcreate
3. 创建逻辑卷 lvcreate
4. 创建文件系统(格式化)
5. 挂载使用
  • 创建
# 创建 物理卷
[root@localhost /]# pvcreate /dev/sdb5
Wiping ext4 signature on /dev/sdb5.
Physical volume "/dev/sdb5" successfully created
# 创建卷组
[root@localhost /]# vgcreate vg1 /dev/sdb5
Volume group "vg1" successfully created
# 创建逻辑卷
[root@localhost /]# lvcreate -L 100M -n lv1 vg1
Logical volume "lv1" created
# 查看物理卷
[root@localhost /]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- 19.51g 0
/dev/sdb5 vg1 lvm2 a-- 196.00m 96.00m
# 查看卷组
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 19.51g 0
vg1 1 1 0 wz--n- 196.00m 96.00m
# 查看逻辑卷
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 17.51g
swap rhel -wi-ao---- 2.00g
lv1 vg1 -wi-a----- 100.00m
# 挂载后就可以使用了
[root@localhost /]# mount /dev/vg1/lv1 /fifth
  • 管理卷组
# 扩展卷组,将物理卷/dev/sdb6同样加到vg1这个卷组里
[root@localhost /]# vgextend vg1 /dev/sdb6
Volume group "vg1" successfully extended
# 查看,又多了200M 来自/dev/sdb6
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 19.51g 0
vg1 2 1 0 wz--n- 392.00m 292.00m
# --------------------------
# lv的操作需要制定到路径 /dev/vg1/lv1
# 扩展逻辑卷,扩展大小
[root@localhost /]# lvextend -L +50M /dev/vg1/lv1
Rounding size to boundary between physical extents: 52.00 MiB
Extending logical volume lv1 to 152.00 MiB
Logical volume lv1 successfully resized
# 查看逻辑卷
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 17.51g
swap rhel -wi-ao---- 2.00g
lv1 vg1 -wi-a----- 152.00m
# 减少到 40M
[root@localhost /]# lvreduce -L 40M /dev/vg1/lv1
WARNING: Reducing active logical volume to 40.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv1? [y/n]: y
Reducing logical volume lv1 to 40.00 MiB
Logical volume lv1 successfully resized
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 17.51g
swap rhel -wi-ao---- 2.00g
lv1 vg1 -wi-a----- 40.00m
# 减少vg
[root@localhost /]# vgreduce vg1 /dev/sdb6
Removed "/dev/sdb6" from volume group "vg1"
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 19.51g 0
vg1 1 1 0 wz--n- 196.00m 156.00m
  • 删除卷
1. 先卸载挂载
[root@localhost /]# umount /dev/vg1/lv1
2. 删除LV
[root@localhost /]# lvremove /dev/vg1/lv1
Do you really want to remove active logical volume lv1? [y/n]: y
Logical volume "lv1" successfully removed
3. 删除VG
[root@localhost /]# vgremove vg1
Volume group "vg1" successfully removed
4. 删除PV
[root@localhost /]# pvremove /dev/sdb6
Labels on physical volume "/dev/sdb6" successfully wiped
  • 按需挂载autofs
# yum安装autofs
[root@localhost /]# yum install autofs
# 编辑 文件 /etc/auto.master
/misc /etc/auto.misc
/test /etc/test.autofs --timeout 10 # 增加行,10秒后自动卸载
挂载目录 按照配置文件
# 编辑挂载配置文件
[root@localhost etc]# vi /etc/test.autofs
test -fstype=ext4,rw :/dev/sdb6
# 重启autofs
[root@localhost etc]# systemctl restart autofs
# 查看当前挂载情况
[root@localhost etc]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 119M 379M 24% /boot
/dev/sdb5 190M 1.6M 175M 1% /third
/dev/sr0 3.5G 3.5G 0 100% /mnt
# 访问目录 /test/test
[root@localhost etc]# cd /test/test
# 再次查看自动挂载上了
[root@localhost test]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 119M 379M 24% /boot
/dev/sdb5 190M 1.6M 175M 1% /third
/dev/sr0 3.5G 3.5G 0 100% /mnt
/dev/sdb6 190M 1.6M 175M 1% /test/test
05-11 03:00