2019-03-31 课堂笔记

第四周 

 day18

上半场:

如何调试定时任务?

1查看错误日志  /var/log/cron  

学会最小化排除:先清空,>/var/log/cron

然后在测试和观察

2增加执行任务评率调试任务

把频率调快

3把定时任务执行时间比当前时间拖后5分钟

00 03执行,当前5:00  咱们就把时间调整05 05 有个5分钟提前量

4调整系统时间(测试环境还凑合)

00 03执行  把形态时间调到2:55

5通过脚本日志输出调试定时任务

定时任务输出

* * * * * /bin/sh /server/scripts/bak.sh &>/tmp/bak.log

脚本输出:

tar  zcvf  oldboy.tar.gz  ./data  >/tmp/tar.log

注意点:

有时候程序只能执行一次,一定要在测试环境

no  space left on device  磁盘无多余空间

原因是inode 被占满了

因为定时任务没有加&》>dev/null  定时任务执行的时候回吧输出给系统root发邮件

邮件服务器postfix服务器默认不开,这行给系统发的邮件就会堆在临时目录

/vat/spool/clientmpueue    6

/var/spool/postfix/maol                7

下半场:

用户管理与知识与应用实践

/etc/passwd/    用户信息所在文件

/etc/shadow    密码所在文件

useradd 命令      添加用户实际上就是修改上述两个文件

passwd命令        改密码实际上就是修改密码所在文件

用户组相关文件:

/etc/group  用户所在文件

使用groupadd添加用户组会更改/etc/group、/etc/gshadow文件。

/etc/gshadow  用户组密码所在文件(飞起状态)

useradd   添加用户组上也是修改上述两个文件

groupadd  sa    添加用户组


Linux  是命令行管理,平时输入ls  cp  谁识别帮我们把想要的输出呢?

这个工具就是bash  (命令解释器)

centos 7默认解释器是bash

cat  /etc/shells

/bin/sh

/bin/bash

usr/bin/sh

usr/bin/bash

useradd  -u  指定UID

              -s    指定登录的shell解释器  默认为bash

              -M  不创建家目录

              -c    添加用户说明

              -d    指定家目录

              -e    设定登录截止日期

              -g    添加用户时指定所属的组

/etc/default/useradd  文件    useradd 的命令配置文件

  默认shell就是/bin/fash

修改方法:

useradd -D -s /bin/sh  相当于vim编辑文件/etc/default/useradd

userdel  删除用户   

工作中通过注释来删除  前面加#号

usermod  修改用户的属性 

passwd  给root修改密码

passwd  +  用户    给用户修改密码

下节命令:

chage和passed对比

groupadd

groupdel



day19

修改用于密码有效期命令chage  -E用户过期的日期  -l显示用户有效期信息

[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : never

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

[root@oldboyedu ~]# chage -E "2020/10/1" oldboy

[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : never

Password inactive : never

Account expires : Oct 01, 2020

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

范例14-17:创建新用户range,要求该用户7天内不能更改密码,

60天以后必须修改密码,过期前10天通知用户,过期后30天后禁止用户登录。

chage -m7 -M60 -W10 -I30 oldboy

联系英文:

Options:

  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY

  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE

  -h, --help                    display this help message and exit

  -I, --inactive INACTIVE      set password inactive after expiration

                                to INACTIVE

  -l, --list                    show account aging information

  -m, --mindays MIN_DAYS        set minimum number of days before password

                                change to MIN_DAYS

  -M, --maxdays MAX_DAYS        set maximim number of days before password

                                change to MAX_DAYS

  -R, --root CHROOT_DIR        directory to chroot into

  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS


[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : never

Password inactive : never

Account expires : Oct 01, 2020

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# chage -m7 -M60 -W10 -I30 oldboy

[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : Dec 06, 2020

Password inactive : Jan 05, 2021

Account expires : Oct 01, 2020

Minimum number of days between password change : 7

Maximum number of days between password change : 60

Number of days of warning before password expires : 10

passwd -n70 -x600 -w100 -i300 oldboy

[root@oldboyedu ~]# passwd -n70 -x600 -w100 -i300 oldboy

Adjusting aging data for user oldboy.

passwd: Success

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : May 30, 2022

Password inactive : Mar 26, 2023

Account expires : Oct 01, 2020

Minimum number of days between password change : 70

Maximum number of days between password change : 600

Number of days of warning before password expires : 100

-n, --minimum DAYS

              This  will  set  the  minimum password lifetime, in days, if the user's account supports password life‐

              times.  Available to root only.

-x, --maximum DAYS

              This will set the maximum password lifetime, in days, if the user's  account  supports  password  life‐

              times.  Available to root only.

-w, --warning DAYS

              This  will  set  the number of days in advance the user will begin receiving warnings that her password

              will expire, if the user's account supports password lifetimes.  Available to root only.

-i, --inactive DAYS

[root@oldboyedu ~]# su - oldboy -c pwd

/home/oldboy

[root@oldboyedu ~]# su - oldboy -c whoami

oldboy


怎么用;;Linux用户身份切换命令su

su 命令总结

1、普通用户切换到root用户,可使用su -或su - root,但必须输人root密码才能完成切换。

2、root 用户切换到普通用户,可使用“su - 普通用户名”的写法,不需要输人任何密码就能完成切换。

3、如果仅希望在某用户下执行命令,而不直接切换到该用户下操作,可以使用su - 用户名 –c“命令”的方式。


系统维护通道。

用su管理,必须知道root密码,安全隐患。

10个运维,都得知道root密码,安全隐患。

需求:

1、不用知道root密码还能管理服务器。

2、最小化管理服务器,想关机,就只给你halt权限。

sudo命令:

可以以最小化的权限(单个命令),执行命令时拥有root用户的权限

SUID 针对命令,任何用户执行命令都有root身份。    任何用户执行某个命令:模糊

SUDO 针对用户,给某个用户以root身份执行某个命令。指定用户执行某个命令:具体。

如何编辑配置sudo?

sudo是一个提权的命令(对应权限通过读取/etc/sudoers(严格语法)文件实现的)

配置/etc/sudoers可以使用visudo命令,或vim /etc/sudoers(不推荐)

[oldboy@oldboyedu ~]$ ls /root

ls: cannot open directory /root: Permission denied

完成上面的动作。

给oldboy用户,针对ls设置权限。

visudo进入编辑状态,100G

## Allow root to run any commands anywhere

root    ALL=(ALL)      ALL

oldboy  ALL=(ALL)      /usr/bin/ls,/bin/cp  #<===增加一行

用户        主机=(角色)      命令

注意:

1、路径要全路径:

which cp查

2、不要vim /etc/sudoers编辑,如果非要用编辑完visudo -c检查语法

oldboy是管理员,并且不要密码:

oldboy  ALL=(ALL)      NOPASSWD: ALL

登录后切到root运行。

[oldboy@oldboyedu ~]$ sudo su - root

Last login: Tue Mar 26 10:32:57 CST 2019 on pts/3

[root@oldboyedu ~]#

为了安全禁止root远程连接linux。

工作中如何登录?使用普通用户登录然后利用sudo提权到root。

Wecomle to oldboy training 58期。

[oldboy@oldboyedu ~]$ whoami

oldboy

[oldboy@oldboyedu ~]$ sudo ls /root

a.txt  c.txt  data1  etc      oldboy     oldboy_b     oldboy_soft_link  pass  test.txt   user.log

b.txt  d      d.txt  grep.txt  oldboy_1.txt  oldboyedu.txt  oldboy.txt       test  test.txt.ori

[oldboy@oldboyedu ~]$

[oldboy@oldboyedu ~]$

[oldboy@oldboyedu ~]$ sudo su -

Last login: Tue Mar 26 11:42:09 CST 2019 on pts/0

[root@oldboyedu ~]#

[root@oldboyedu ~]# su - oldboy

Last login: Tue Mar 26 10:44:08 CST 2019 on pts/3

[oldboy@oldboyedu ~]$ ls /root

ls: cannot open directory /root: Permission denied

[oldboy@oldboyedu ~]$ sudo -l

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.

[sudo] password for oldboy:

Matching Defaults entries for oldboy on oldboyedu:

User oldboy may run the following commands on oldboyedu:

    (ALL) /bin/ls

[oldboy@oldboyedu ~]$ sudo ls /root

a.txt  c.txt  data1  etc      oldboy     oldboy_b     oldboy_soft_link  pass  test.txt   user.log

b.txt  d      d.txt  grep.txt  oldboy_1.txt  oldboyedu.txt  oldboy.txt       test  test.txt.ori

[oldboy@oldboyedu ~]$ ls /root

ls: cannot open directory /root: Permission denied

[oldboy@oldboyedu ~]$

练习:给普通用户oldgirl增加添加用户和删除用户权限。

root用户找回密码

https://baijiahao.baidu.com/s?id=1614000108255096283&wfr=spider&for=pc

 visudo:编辑sudoers文件工具

visudo命令是专门用来编辑/etc/sudoers这个文件的,同时它还提供语法检查等功能。/etc/sudoers文件是sudo命令的配置文件


以另一个用户身份执行命令:sudo

通过sudo命令可以让普通用户在执行指定的命令或程序时,拥有超级用户(也可以是其他用户)的权限,并且可以有针对性的将不同命令或程序授予指定的普通用户,并且普通用户不需要知道root密码就可以得到权限,这个授权可以使用visudo配置管理。



day20


磁盘:

组成:盘片,磁头和接口

发展趋势:

体积更小,密度更高,速度更快,容量更大,使用更安全

接口类型:

SAS    SATA    SCSI    PCI-E    后两个已经淘汰

磁盘内部组成:

盘面:用来写入和读取数据的    径向运动    寻道

磁道:用于记录数据的不同半径的圆形磁化轨迹    是一个平面圆形  从外面到里面    最外面的是0磁道依次往最里面

扇区:圆心向周围画直线,不同的磁道被分成扇形区域  磁道上面最小的单位    默认大小512字节

柱面:不同的盘面上的相同磁道组成的圆柱体    磁盘默认是按柱面读写

单元块:表示一个柱面的大小    units


计算磁盘大小:

1) 存储容量=磁头数*磁道数*扇区数*每扇区的大小(512字节)

2) 存储容量=柱面数*磁头数*扇区数*每扇区的大小(512字节)

提示:一块磁盘的磁道数和柱面数的数量永远是相等的。


fdisk  -l    查看磁盘信息

磁道柱面扇区总结:

磁盘最基本的组成部分是有坚硬的金属材料制成的涂以磁性介质的盘片(有很多层),不同容量磁盘的盘片数不等。

记忆要点:

1一块磁盘有2-14个盘片,每个盘片有两个面,每磁头数个面对应一个读写磁头,用磁头号类区分盘面,即盘面数就是磁头数,盘片数*2=(盘面数)

2,不同盘面的磁道被划分为多个扇形区域,每个区域就是一个扇区sector

3,同一个盘面,以盘片中心为圆心,每个不同半径的圆形轨迹就是一个磁道track

4,不同盘面相同半径的磁道组成一个圆柱面就是柱面cylinder

5,一个柱面包含多个磁道(这些磁道的半径相同),一个磁道包含多个扇区。

6,数据信息记录可表示为某磁头,某磁道(柱面),某扇区

SATA盘用来备份  没钱  数据量少  不用服务用户 

sas用来读写热门数据的

企业磁盘选型小结:

线上的用sas

线下的用SATA

线上高并发用ssd

控制成本用  只能分析分层存储SATA+ssd

企业案例:

1,主库选择用sas raid10,从库sas raid0

2,当数据库使用的引擎是myisam引擎,改成innodb引擎。

服务器分层存储机制:

        单台服务器(多台)的磁盘可由一块80G的ssd磁盘和两块500G 的SATA盘组成。。然后把热数据存放在SATA上,冷数据可以动态调整,从而兼顾性能、容量与成本。另:分层存储调度软件由淘宝开发。

磁盘;硬盘:disk

磁头:head

磁道:track

扇区:sector

柱面:cylinder

单元块:units



day21

1什么是raid?

冗余磁盘阵列

获得更大的容量  更高的性能    获得更好的冗余

raid卡:可以不用去机房现场,坐在办公室就能远程连接并控制服务器的配件

Raid的分类

1、软Raid,是系统层面实现的,性能差

2、硬Raid,是硬件层面实现的,性能好

硬Raid分为两类:

a.主板板载RAID:功能弱,只能做Raid0和Raid1

b.独立RAID卡:功能强,Raid0, Raid1, Raid5, Raid10都可以,是工作时候的选择


LVM含义

LVM全称(Logic Volume Management (Manager))逻辑卷管理,它的最大用途是可以灵活的管理磁盘的容量,让磁盘分区可以随意放大或缩小,便于更好的应用磁盘的剩余空间,如果过于强调性能与备份,那么还是应该使用RAID功能,而不是LVM。

买服务器插满磁盘,分区规划好,永远不需要LVM


raid0:容量是所有盘之和 性能是之和  无冗余,坏一块raid无法使用 适用于大规模并发读写,但对数据安全要求不高的情况

生产应用场景:

1)负载均衡集群下的多个相同RS节点服务器。

2)分布式文件存储下面的主节点

3)MySQL主从复制的多个Slave服务器

4)对性能要求很高,对冗余要求很低的相关业务


raid1   又称为Mirror或Mirroring(镜像)只能是两块盘,容量损失一块盘  只有一块盘的性能  冗余100%  适用于存档重要数据和对性能要求不高的


raid5需要三块或以上的物理磁盘,可以提供热备盘实现故障的恢复;采用奇偶校验,可靠性强,且只有同时损坏两块硬盘时数据才会完全损坏,只损坏一块硬盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务;此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据。

容量只损失一块盘的数据容量  性能具有和0 行进的数据读取速度 只多了一个奇偶校验信息,写慢   冗余只能损失一块盘  场合适用于对性能和安全都有一定要求但是都不高的情况



raid10   Raid10是先在纵向上分别两两做镜像(Raid1),镜像后再在横向上做条带(Raid0)。在这种情况下,如果只是坏掉其中的一个硬盘,对Raid组的影响都不是非常大,只要不是同时坏掉其中的一个硬盘和他的镜像盘,Raid组都不会崩溃。

只能是偶数盘,损失一半的数据容量  性能大于1和5,小于0  冗余只要不是同时损坏一块盘和他的镜像盘,可以损坏一块盘    适合高并发存储和数据库支持


磁盘分区

IDE /dev/hda/hdb

scsi  sda1  sda2  sda3

 分区   分区就相当于改磁盘打隔断

分区类型

1主分区primary

1】此必须要存在的分区,系统盘选择主分区安装

2】数字编号只能说是1-4

3】主分区最多四个最少一个

2扩展分区

1】相当于衣蛾独立的小磁盘

2】有独立的分区表

3】不能独立存在,即不能直接存放数据

4】必须在扩展分区上建立逻辑分区才能存放数据

5】占用主分区的编号(主分区加扩展分区)之和小于等于4

6】扩展分区可以没有,最多只能一个

3逻辑分区

1】数字编号只能从5开始

2】存放与扩展分区之上

3】存放热议普通数据


磁盘分区原理:

磁盘是按照柱面分区的

分区登记的的地点叫磁盘分区表

存放分区信息的  起始地点,结束扇区多少 

位置0磁道0磁头1扇区512字节  占用1扇区的前446字节(系统引导信息)的后64字节    剩下2字节分区结束标志

磁盘分区表的容量有限 64字节  一个分区固定占16字节

64/16=4

磁盘分区的核心本质是该64字节的分区表而已


分区实战


fdisk  修改MBR分区表MBR格式

缺陷,被修改的磁盘不能大于2t 

磁盘分区其他命令parted gpt 分区格式能修改大于2T的

小于2T 就用fdisk

大于2T 就用parted

fda  已有的系统,不能分区,会导致数据丢失



day22

fdisk 命令参数

d    删除 分区

l    查看分区类型

p    查看分区帮助信息

n    添加一个新的分区

q    退出不保存

w    退出并保存


parted    GUN磁盘分区工具

parted  一键分区

parted    mklabel    gpt  修改分区格式为gpt

parted    /dev/sdb  mkpart    primary   0  480

parted    /dev/sdb  mkpart    primary    480    580

p


mklabel    msdos   修改分区格式为msdos


格式化前      执行partprobe  /dev/sdb 命令

分将区信息通知内核知道  或者重启


mkfs  格式化  实质就是创建文件系统  关键就是生成一定数量的inode和block

-  t  指定文件系统类型   -b 指定block块大小  -l  指定inode大小

mkfs.xfs    或者mkfs -t xfs    /dev/sdb1 对具体哪个分区进行格式化


刚买的服务器,4个2t盘,做raid5?

方法1

raid制作视频,raid里可以支持raid5后  6t 允许你把6t 分虚拟磁盘

200G 分成第一个虚拟磁盘剩下的留着后parted

方法2

装系统 系统镜像会有支持GPT 格式分区,很隐蔽

方法3

用其他的引导工具进入  然后用parted、分区


文件系统有哪些种类?

Windows :Windows NTFS fat32  msdos

Linux:ext2  ext3(c5) ext4(c6)xfs(c7)

临时挂载

mount -t ext4/dev/sdb1/mnt

umount  卸载 -lf  强制卸载      -lf /mnt  卸载掉

blkid 查看硬件ID

dumpe2fs 查看ext文件系统细节

xfs-info 查看xfs信息

fsck  磁盘检查和修复


                    -

你可能感兴趣的:(2019-03-31 课堂笔记)