定时任务,磁盘&系统&进程管理

一, 定时任务


crontab -e    定时任务编写

crontab -l     查看定时任务

##以同步系统时间为例


crontab -e  (出现文本编辑框,编辑内容如下)

#同步系统时间,作者:美丽的雪儿 时间:2020.0809        本行相当于注释信息

* * * * * /usr/sbin/ntpdate ntp.aliyun.com &>/dev/null      

分时日月周,注意空格分开,一定是命令的绝对路径,定时任务,结果输出到一个文件中,否则占用磁盘内存过大,再就是索引号占用太多

用到两个配置

1,         /var/spool/mail/root

[root@babysnow ~]# ll /var/spool/mail/root

-rw-------. 1 root mail 27940 8月  9 23:17 /var/spool/mail/root

如果不把输出结果放到一个文件夹,注意以上的27940变化,会越来越大

这时候可以   systemctl stop postfix   关掉邮件服务

需要打开的话 systemctl start  postfix   关掉邮件服务


2,        /var/log/cron

可以查看定时任务的更新

[root@babysnow ~]# tailf /var/log/cron

Aug  9 23:21:01 babysnow CROND[67416]: (root) CMD (/usr/sbin/ntpdate ntp.aliyun.com &>/dev/null)

Aug  9 23:22:02 babysnow CROND[67469]: (root) CMD (/usr/sbin/ntpdate ntp.aliyun.com &>/dev/null)

Aug  9 23:23:01 babysnow CROND[67521]: (root) CMD (/usr/sbin/ntpdate ntp.aliyun.com &>/dev/null)

Aug  9 23:23:22 babysnow crontab[67541]: (root) BEGIN EDIT (root)

Aug  9 23:23:40 babysnow crontab[67541]: (root) END EDIT (root)

Aug  9 23:24:01 babysnow CROND[67576]: (root) CMD (/usr/sbin/ntpdate ntp.aliyun.com &>/dev/null)

Aug  9 23:25:01 babysnow CROND[67631]: (root) CMD (/usr/sbin/ntpdate ntp.aliyun.com &>/dev/null)


ll /var/spool/postfix/maildrop/

如果没有把输出结果放在一个文件夹,打开以上会随着定时任务数据的产生创建文件夹,文件夹里的内容就是定时任务的数据,导致索引号会过多而磁盘空间变少



#同步系统时间,作者:美丽的雪儿 时间:2020.0809

* * * * * /usr/sbin/ntpdate ntp.aliyun.com &>/dev/null

#注释随便写

* * * * * /usr/bin/date + \%F>> /dev/cron/cron.txt

以上执行的命令中有特殊符号,一定加加转义符,vim里和bash里的符号不一致


--脚本进行备份

## 前期准备

[root@localhost ~]# mkdir /beifen

[root@localhost ~]# vim /beifen/jiaoben.sh

[root@localhost ~]# touch /huishouzhan/huishou

[root@localhost ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

##  脚本编辑

#!/bin/bash

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin                   --改变环境变量,路径输出

# 准备备份目录

mkdir -p /backup

#开始备份

cd /

tar zcf /backup/$(date +%F_%T)_$(ip a|awk '{NR==9}|sed -r 's#(.*et)(.*)()/.*)#\2#')_etc.tar.gz etc

cd -

#删除7天以前的数据

find /backup -type f -mtime +7 -name "*.tar.gz" -delete

关于PATH的作用:

(PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒号使目录与目录之间隔开。) --来源于百度

相关配置文件

/etc/profile

.bashrc 


~   然后执行脚本              

[root@localhost ~]# sh /beifen/jiaoben.sh      


## 定时任务编辑

[root@localhost ~]#  crontab -e

# 备份系统文件

* * * * * /bin/bash      /beifen/jiaoben.sh>>/huishouzhan/huishou

~                                                                                                                                   

~                                                                                                                                   

## 查看定时任务日志

[root@localhost ~]# tailf /var/log/cron

Aug 11 12:01:01 localhost run-parts(/etc/cron.hourly)[2522]: finished 0anacron

Aug 11 12:02:01 localhost CROND[2529]: (root) CMD (/bin/bash      /beifen/jiaoben.sh>>/huishouzhan/huishou)

Aug 11 12:03:01 localhost CROND[2539]: (root) CMD (/bin/bash      /beifen/jiaoben.sh>>/huishouzhan/huishou)

Aug 11 12:04:01 localhost CROND[2550]: (root) CMD (/bin/bash      /beifen/jiaoben.sh>>/huishouzhan/huishou)

Aug 11 12:05:01 localhost CROND[2563]: (root) CMD (/bin/bash      /beifen/jiaoben.sh>>/huishouzhan/huishou)

## 查看定时任务系统邮件

[root@localhost ~]# cat /var/spool/cron/root

# 备份系统文件

* * * * * /bin/bash      /beifen/jiaoben.sh>>/huishouzhan/huishou


## 查看备份信息

[root@localhost ~]# ll /backup/

total 173728

-rw-r--r--. 1 root root 22236124 Aug 11 11:58 2020-08-11_11:58:01__etc.tar.gz

-rw-r--r--. 1 root root 22236124 Aug 11 11:58 2020-08-11_11:58:50__etc.tar.gz

-rw-r--r--. 1 root root 22236124 Aug 11 11:59 2020-08-11_11:59:01__etc.tar.gz

-rw-r--r--. 1 root root 22236124 Aug 11 12:00 2020-08-11_12:00:01__etc.tar.gz

-rw-r--r--. 1 root root 22236124 Aug 11 12:01 2020-08-11_12:01:01__etc.ta.gz

-rw-r--r--. 1 root root 22236124 Aug 11 12:02 2020-08-11_12:02:01__etc.tar.gz

-rw-r--r--. 1 root root 22236124 Aug 11 12:03 2020-08-11_12:03:01__etc.tar.gz

-rw-r--r--. 1 root root 22236124 Aug 11 12:04 2020-08-11_12:04:01__etc.tar.gz


二,磁盘管理


磁盘分类:

HDD机械硬盘:传统磁盘,主要由磁头,盘片和盘片转轴组成

SSD固态硬盘:固态电子存储芯片制列而成


磁盘结构:

盘片             两面

磁道            同心圆

磁头          读写数据

扇区          最小的存储单位  512字节

柱面 



##  区别

HDD机械硬盘:体积大容量大,寿命无线使用,读写性能差,抗极大能力差,数据恢复容易

SSD 固态硬盘:容量小价格贵,使用寿命有限(格式化2w次左右),读写能力快,抗击打能力强,数据恢复难


磁盘的接口:

主要SATA    SAS 企业使用                                   IDE,SCSI 已淘汰

固态 PCIE


磁盘单位的专业术语:

尺寸: 2.5英寸  3.5英寸

单位:bit b B KB MB GB TB PB 

            1B=8bite 8个二进制

            1B=1024b  以此类推都是1024,1MB=1024KB



三 ,磁盘分区


查看磁盘信息       fdisk -l    或      lsblk

##  添加磁盘需要关闭虚拟机,设置里增加磁盘,重启


## 查看dev下面的磁盘信息

fdisk -l /dev/sd*

(sd开头的是物理磁盘,vd开头的是虚拟磁盘)


## 增加完磁盘查看

[root@localhost opt]# lsblk    或   fdisk -l

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  100G  0 disk                                         -第一块磁盘

├─sda1  8:1    0  500M  0 part /boot                             -第一块磁盘的第一个分区

├─sda2  8:2    0    1G  0 part [SWAP]                            -第一块磁盘的第二个分区

└─sda3  8:3    0 98.5G  0 part /

sdb      8:16  0  100G  0 disk                                            -第二块磁盘

sdc      8:32  0  50G  0 disk                                               -第三块磁盘

sr0    11:0    1  4.5G  0 rom                                                -镜像


## 给sdb分区

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

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x7420e313.

Command (m for help): n            --新建分区

Partition type:

  p  primary (0 primary, 0 extended, 4 free)

  e  extended

Select (default p): p                        --基本区

Partition number (1-4, default 1):                     --默认

First sector (2048-209715199, default 2048):                 --默认

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +20G             --注意格式+容量

Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): n

Partition type:

  p  primary (1 primary, 0 extended, 3 free)

  e  extended

Select (default p): e                                    --新建扩展区

Partition number (2-4, default 2): 4                       --前三是基本区,数字4扩展区好辨认

First sector (41945088-209715199, default 41945088):

Using default value 41945088

Last sector, +sectors or +size{K,M,G} (41945088-209715199, default 209715199): +50G

Partition 4 of type Extended and of size 50 GiB is set

Command (m for help): w                --保存

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

##   (MBR分区表是针对GTB以下容量分区,4个分区,三个基本区,一个扩展区,扩展区不能直接使用,下面可建逻辑区;

           GPR分区表针对2TB以上分区,有128个分区)   ##

##     MBR位置 0磁头0磁道1扇区  512字节


##分完区查看磁盘分区情况

[root@localhost ~]# lsblk

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  100G  0 disk

├─sda1  8:1    0  500M  0 part /boot

├─sda2  8:2    0    1G  0 part [SWAP]

└─sda3  8:3    0 98.5G  0 part /

sdb      8:16  0  100G  0 disk

├─sdb1  8:17  0  20G  0 part

└─sdb4  8:20  0    1K  0 part

sdc      8:32  0  50G  0 disk

sr0    11:0    1  4.5G  0 rom 


##  磁盘格式化

[root@localhost ~]# mkfs.xfs /dev/sdb1

meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310720 blks

        =                      sectsz=512  attr=2, projid32bit=1

        =                      crc=1        finobt=0, sparse=0

data    =                      bsize=4096  blocks=5242880, imaxpct=25

        =                      sunit=0      swidth=0 blks

naming  =version 2              bsize=4096  ascii-ci=0 ftype=1

log      =internal log          bsize=4096  blocks=2560, version=2

        =                      sectsz=512  sunit=0 blks, lazy-count=1

realtime =none                  extsz=4096  blocks=0, rtextents=0



四, 磁盘的其他知识点


磁盘怎么用   ---------------------

## 把磁盘挂载在mnt下

[root@localhost ~]# mount /dev/sdb1 /mnt/                  --保证mnt为空目录


## 查看磁盘挂载状态

[root@localhost ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

devtmpfs        980M    0  980M  0% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.6M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda3        99G  1.6G  97G  2% /

/dev/sda1      497M  124M  373M  25% /boot

tmpfs          199M    0  199M  0% /run/user/0

/dev/sdb1        20G  33M  20G  1% /mnt


## 把文件复制到opt下

[root@localhost ~]# cp /etc/passwd /mnt/

## 查看opt下文件

[root@localhost ~]# ll /mnt/

total 4

-rw-r--r--. 1 root root 1284 Aug 11 10:59 passwd


## 移除挂载

[root@localhost ~]# umount /dev/sdb1

## 新建一个空目录

[root@localhost ~]# mkdir /opt/guazai

## 再把第二块磁盘的第一个分区sdb1挂载到新建的空目录下

[root@localhost ~]# mount /dev/sdb1 /opt/guazai/


## 查看该空目录下的文件,即出现之前步骤中复制的文件

[root@localhost ~]# ll /opt/guazai/

total 4

-rw-r--r--. 1 root root 1284 Aug 11 10:59 passwd


## 统计当前目录占用空间大小    du -sh

[root@localhost ~]# du -sh

16M


## 查看当前目录下的文件大小  du -sh --time *

[root@localhost ~]# du -sh --time *

4.0K 2020-07-29 15:29 10.txt.gz

0 2020-08-04 12:03 111.txt

4.0K 2020-08-05 14:51 aaa.tar.gz

4.0K 2020-07-29 15:25 aaa.txt

4.0K 2020-08-04 16:13 aaa.txt.tt

4.0K 2020-08-04 12:46 aa.txt

....


## 查看磁盘的uuid

[root@localhost ~]# blkid

/dev/sda1: UUID="8730b338-55bb-47f4-843b-ea9b6bd346b2" TYPE="xfs"

/dev/sda2: UUID="7428122b-e41a-47dc-898d-46ecf3e76c1d" TYPE="swap"

/dev/sda3: UUID="10bad2aa-8d05-4a26-bcc9-1cfefd326eb0" TYPE="xfs"

/dev/sdb1: UUID="26b72fcd-9fe4-4318-b9fb-57d1731df86a" TYPE="xfs"

/dev/sdc1: PTTYPE="dos"

/dev/sr0: UUID="2020-04-22-00-54-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"


## 这个文件夹,可以把磁盘永久挂载,vim进去即可

[root@localhost ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Thu Jul 16 15:42:30 2020

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=10bad2aa-8d05-4a26-bcc9-1cfefd326eb0 /                      xfs    defaults        0 0

UUID=8730b338-55bb-47f4-843b-ea9b6bd346b2 /boot                  xfs    defaults        0 0

UUID=7428122b-e41a-47dc-898d-46ecf3e76c1d swap                    swap    defaults        0 0


swap  虚拟内存 磁盘的分区,属于磁盘空间

当物理内存不足临时充当内存

OOM ,即 out of memory 内存不足,内存溢出


## 查看内存容量

[root@babyzzz ~]# free -m

              total        used        free      shared  buff/cache  available

Mem:            972        145        336          7        490        620

Swap:          1023          0        1023


## 关闭内存

[root@babyzzz ~]# swapoff -a

[root@babyzzz ~]# free -m

              total        used        free      shared  buff/cache  available

Mem:            972        146        335          7        489        619

Swap:            0          0          0


## 开启内存

[root@babyzzz ~]# swapon -a  

## 给swap分区

[root@babyzzz ~]# lsblk

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  20G  0 disk

├─sda1  8:1    0  500M  0 part /boot

├─sda2  8:2    0    1G  0 part [SWAP]

└─sda3  8:3    0 18.5G  0 part /

sdb      8:16  0  50G  0 disk

├─sdb1  8:17  0    5G  0 part

├─sdb4  8:20  0    1K  0 part

└─sdb5  8:21  0    5G  0 part

sdc      8:32  0  100G  0 disk

sr0    11:0    1 1024M  0 rom

## 和之前分区一样步骤

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

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

命令(输入 m 获取帮助):n

Partition type:

  p  primary (1 primary, 1 extended, 2 free)

  l  logical (numbered from 5)

Select (default p): p

分区号 (2,3,默认 2):

起始 扇区 (31459328-104857599,默认为 31459328):

将使用默认值 31459328

Last 扇区, +扇区 or +size{K,M,G} (31459328-104857599,默认为 104857599):+2G

分区 2 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。


## 把sdb2变成swap

[root@babyzzz ~]# mkswap /dev/sdb2

正在设置交换空间版本 1,大小 = 2097148 KiB

无标签,UUID=c697d512-dba8-4c8a-8c8b-96cb56595649


[root@babyzzz ~]# swapon /dev/sdb2

[root@babyzzz ~]# free -m

              total        used        free      shared  buff/cache  available

Mem:            972        147        335          7        489        618

Swap:          3071          0        3071


## 查看总内存大小

[root@babyzzz ~]# swapon -s

文件名                  类型                 大小     已用  权限

/dev/sda2             partition     1048572       0    -2

/dev/sdb2             partition      2097148      0    -3


##取消

[root@babyzzz ~]# swapoff /dev/sdb2


[root@babyzzz ~]# free -m

              total        used        free      shared  buff/cache  available

Mem:            972        146        336          7        489        620

Swap:          1023          0        1023


五, 磁盘RAID 


使用RAID的好处:

1,得到更好的容量

2,得到高好的性能

3,得到更好的冗余(备份)


RAID级别:

                                                 硬盘数量                    容量                                    性能                      冗余                             应用场景 

RAID 0    条带卷                         至少2块                   最大(之和)                   读写最快                   0                          只要求速度,不要求安全

RAID 1   镜像卷                           只能2块                    一半                     读正常,写很慢(写2次)   50%                      只要求安全,不要求速度

RAID 5   校验卷                          至少三块                   损失一块                读写比1稍快                       1/n                         对安全速度要求都不高

RAID 10  镜像陈列条带卷           只能4块                  一半                               读写很快,比0慢            50%                     对安全速度都很高


性能:0最好,其次10、5、1

安全:1最好,其次10、5、0

成本:0最实惠,其次5、 1 、10


磁盘故障:

inode(索引号)满

block(数据空间)满


## inode满             创建文件数量限制

[root@localhost ~]# find / -type d -size +20k -exec ls -lhd {} \;

dr-xr-xr-x. 2 root root 24K Aug 10 14:59 /usr/bin

dr-xr-xr-x. 41 root root 24K Aug 10 14:59 /usr/lib64

drwxr-xr-x. 2 root root 32K Aug 10 14:59 /usr/share/man/man1

drwxr-xr-x. 2 root root 36K Jul 29 12:21 /usr/share/man/man3

drwxr-xr-x. 2 root root 28K Aug  5 10:07 /usr/share/man/man8

## 查看筛选出的目录下的文件有多少

[root@localhost ~]# ll /usr/share/man/man8|wc -l

718

[root@localhost ~]# ll /usr/share/man/|wc -l

44

[root@localhost ~]# ll /usr/share/|wc -l

85


## 查看文件系统的相关信息

[root@localhost ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

devtmpfs        980M    0  980M  0% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.6M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda3        99G  4.3G  95G  5% /

tmpfs          199M    0  199M  0% /run/user/0

/dev/sdb1        20G  33M  20G  1% /opt/guazai


## 查看inode号使用数据

[root@localhost ~]# df -i

Filesystem      Inodes IUsed    IFree IUse% Mounted on

devtmpfs        250809  407  250402    1% /dev

tmpfs            253484    1  253483    1% /dev/shm

tmpfs            253484  743  252741    1% /run

tmpfs            253484    16  253468    1% /sys/fs/cgroup

/dev/sda3      51648000 37912 51610088    1% /

tmpfs            253484    1  253483    1% /run/user/0

/dev/sdb1      10485760    4 10485756    1% /opt/guazai


## block满,查找目录下大于G单位文件,再做处理

[root@localhost ~]# du -sh /etc/* |grep G                           这一步有待考究 ,筛选出的不是G单位???

4.0K /etc/GREP_COLORS

[root@babyzzz ~]# find / -type d -size +15k查找文件或者大的目录


六, 进程介绍


程序:静态,一堆代码或者数据的集合

进程:动态,程序运行的过程,有生命周期


进程的运行,系统会为其分配内存,ID PID PPID 运行的状态 环境变量 进程标识符

fo查看命令生成多个子进程,子进程会执行具体的任务,父进程进入等待,子进程处理完毕后,向父进程交任务然后退出,

子进程运行过程中,父进程非正常退出,子进程就没有人进行管理,就会变成僵尸进程



实时进程:一直运行到退出才会释放cpu,类似打开的网页游戏,优先级是1-99

priority(PR)  优先级:动态优先级,实时进程

NICE(NI):静态优先级 100-139,非实时进程

普通进程:NICE值简称NI值,-20-40,值越小系统优先级越高,也就是100-139

##

守护进程:ps -x

普通进程:ps 或 带参数的其他ps命令

后台进程:jobs 或 前面的上述的那些命令

fg :将后台中的命令调至前台继续运行

##

& :这个用在一个命令的最后,可以把这个命令放到后台执行

ctrl + z :可以将一个正在前台执行的命令放到后台,并且暂停

jobs :查看当前有多少在后台运行的命令


为什么要有进程优先级?

----进程执行占用cpu,有的进程重要,有的进程不重要



七, 进程的状态


ps

选项:

-a   查看所有进程

-u   显示有效用户和id信息

-x   显示没有终端的进程


## 静态ps

root@babyzzz ~]# ps -aux

USER        PID %CPU %MEM    VSZ  RSS TTY      STAT START  TIME COMMAND

VSZ 虚拟内存集

RSS 物理内存集


ps -ef  x显示父进程pid


动态top


[root@babyzzz ~]# top

top - 21:04:59 up  3:38,  3 users,  load average: 0.00, 0.01, 0.05

Tasks:  98 total,  2 running,  96 sleeping,  0 stopped,  0 zombie

%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :  995896 total,  455176 free,  143064 used,  397656 buff/cache

KiB Swap:  1048572 total,  1048572 free,        0 used.  654976 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM    TIME+ COMMAND


top   内部指令

 P 以cpu使用率进行排序

 M 以内存使用率进行排序

 q  退出


top -d 1刷新时间 1s刷新一次

top -p 1 指定uid 为1

top -u   root 指定用户root

##  htop 有颜色,和top一样,可以用鼠标点,或者glance


八 ,管理进程状态


kill 

-1 加载

-9 强制终止进程

-15 默认 终止进程


## 执行top

[root@babyzzz ~]# top


## 查看所有进程过滤出top,可以看到top的pid

[root@babyzzz ~]# ps -aux|grep top

root      15125  0.1  0.2 161880  2192 pts/1    S+  21:04  0:01 top

root      15174  0.0  0.0 112724  988 pts/2    R+  21:19  0:00 grep --color=auto top

##

[root@babyzzz ~]# kill 15125


## 再次查看,没有了~

[root@babyzzz ~]# ps -aux|grep top

root      15176  0.0  0.0 112724  988 pts/2    R+  21:21  0:00 grep --color=auto top


killall 根据进程ID,精确匹配

[root@babyzzz ~]# killall top


pkill  模糊(终极)杀手,进程名称终止,包含这个名称的进程都会终止

!!⚠️危险

九, 后台进程管理


如果在备份数据或者在执行cp命令,网络原因中断

[root@babyzzz ~]# nohup tar zcf aaa.tar.gz /etc &

中断后再次连接,

[root@babyzzz ~]# ps -aux |grep tar 会显示未完成的tar命令进程


jobs 命令,查看正在后台运行的指令


查看进程中是T的,是暂停进程,如果要继续运行

fg %对应的编号


ctrl+z 在后台停止

[root@babyzzz ~]# jobs

[1]+  已停止              top


[root@babyzzz ~]# fg %1   让前台的程序继续在前台执行

[root@babyzzz ~]# bg %1   让后台程序继续在后台继续执行

[1]+ top &


[root@babyzzz ~]# yum install -y screen

## 显示后台列表                                                                       [root@babyzzz ~]# screen -list                                                              No Sockets found in /var/run/screen/S-root.


重要!!!!!!

sreen -S  新打开一个窗口  自定义名称

screen -r   进入这个窗口

screen -x 进入后台窗口 查看另一个窗口的操作

sreen -S vim

ctrl a+d 临时退出界面

exit 真正退出





十, 系统平均负载


单位时间内,系统正在运行或者不可中断的数量,进程的活跃数

查看负载值命令:

uptime

top

w


load average的输出值           load average:1.76, 2.14, 2.20       分别代表1分钟,5分钟,10分钟

首先要知道cpu的个数

比如CPU的核心数是4,输出值是2, 那么负载为2除以4=50%                              

比如CPU的核心数是2,输出值是2, 那么负载为2除以2=100%

比如CPU的核心数是1,输出值是2, 那么负载为2除以1=200%  代表超负载

#

就是说输出值如果大于CPU核心数,说明CPU繁忙,负载很高,可能会影响系统性能输出

如果小于CPU核心数,表示CPU较空闲

#

如果一份的值大于5分钟大于15分钟的值,说明之前的系统负载时平稳的,最近一分钟负载过高

如果一份的值小于5分钟大于15分钟的值,说明之前的系统负载过高,最近一分钟是平稳的



十一, 开机流程及运行级别


系统开机启动流程:

1,电源

2,BIOS自检 (坚持机器硬盘,内存,CPU等设备,系统报错就没法正常启动)

3,MBR引导

4,GRUB菜单

5,内核加载

6,运行系统管理进程   (0-6,      7个级别)

7,读取系统管理级别

8,系统初始化

9,开启系统开机自启动服务 并启动

10,运行getty进程,进入登录界面   (getty即终端)


系统的运行级别:

[root@localhost etc]# ll /usr/lib/systemd/system/runlevel*.target

lrwxrwxrwx. 1 root root 15 Jul 16 15:43 /usr/lib/systemd/system/runlevel0.target -> poweroff.target

lrwxrwxrwx. 1 root root 13 Jul 16 15:43 /usr/lib/systemd/system/runlevel1.target -> rescue.target

lrwxrwxrwx. 1 root root 17 Jul 16 15:43 /usr/lib/systemd/system/runlevel2.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Jul 16 15:43 /usr/lib/systemd/system/runlevel3.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Jul 16 15:43 /usr/lib/systemd/system/runlevel4.target -> multi-user.target

lrwxrwxrwx. 1 root root 16 Jul 16 15:43 /usr/lib/systemd/system/runlevel5.target -> graphical.target

lrwxrwxrwx. 1 root root 13 Jul 16 15:43 /usr/lib/systemd/system/runlevel6.target -> reboot.target

0 关机

1 单用户         root权限,用于系统维护,禁止远程登陆

2 多用户        (无网络)

3 多用户       (有网络,Linux系统级别为3)

4 多用户              系统未使用 保留

5 图形界面

6 重启


十二,系统管理


systemctl命令 ,  以nginx为例

systemctl start nginx                启动

systemctl stop nginx                 停止

systemctl status nginx                状态

systemctl restart  nginx                 重启

systemctl reload nginx                  平缓重启(改变了配置,但是不重启)

systemctl enable                      开机自启动

systemctl disable                        取消开机自启动

systemctl mask                                 禁止服务

systemctl unmask                      解除禁止


##Active:  状态有

    inactive (dead)           运行中

     inactive (dead)          没有运行

      failed                    启动失败(改变了错误配置会提示)


## 开启开机自启动

[root@localhost ~]# systemctl enable nginx

Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.


##  查看状态会出现enable

[root@localhost ~]# systemctl status nginx

● nginx.service - The nginx HTTP and reverse proxy server

  Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)

  Active: inactive (dead)


## 开启开机自启动

[root@localhost ~]# systemctl disable nginx

Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.service.


[root@localhost ~]# systemctl status nginx

● nginx.service - The nginx HTTP and reverse proxy server

  Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)

  Active: inactive (dead)


## 改变配置文件

[root@localhost ~]# vim /etc/nginx/nginx.conf


## 查看当前运行级别的服务的状态

[root@localhost ~]# systemctl list-unit-files


## 打开nginx配置,故意改错个东西

[root@localhost ~]# vim /etc/nginx/nginx.conf

[1]+ Stopped systemctl list-unit-files


## 重启nginx,会有报错提示

[root@localhost ~]# systemctl restart nginx

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

## 按照提示查看,会显示报错的行和错误提示,第五行的“ser”不识别

[root@localhost ~]# journalctl -xe

...

--

-- Unit nginx.service has begun starting up.

Aug 12 14:29:04 localhost.localdomain nginx[22440]: nginx: [emerg] unknown directive "ser" in /etc/nginx/nginx.conf:5

Aug 12 14:29:04 localhost.localdomain nginx[22440]: nginx: configuration file /etc/nginx/nginx.conf test failed

Aug 12 14:29:04 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1

Aug 12 14:29:04 localhost.localdomain systemd[1]: Failed to start The nginx HTTP and reverse proxy server.

-- Subject: Unit nginx.service has failed

...


## 实时查看日志服务,/var.log/message的快捷键

[root@localhost ~]# journalctl -f

## 显示最后20行

[root@localhost ~]# journalctl -n 20 -f

## 指定查看nginx的日志

[root@localhost ~]# journalctl -u nginx


[root@localhost ~]# journalctl -p

alert    crit    debug    emerg    err      info    notice  warning 


## 查看错误的日志

[root@localhost ~]# journalctl -p err

-- Logs begin at Mon 2020-08-10 17:03:01 CST, end at Wed 2020-08-12 14:29:04 CST. --

Aug 10 17:03:02 localhost.localdomain kernel: sd 0:0:0:0: [sda] Assuming drive cache: write through

Aug 10 17:03:02 localhost.localdomain kernel: sd 0:0:1:0: [sdb] Assuming drive cache: write through



##  查看主机相关信息

[root@localhost ~]# hostnamectl

  Static hostname: localhost.localdomain

        Icon name: computer-vm

          Chassis: vm

        Machine ID: 82bee73de0754fffa5d872ab99d4d0f7

          Boot ID: 0e166f2c86124349b2777b2910eea254

    Virtualization: vmware

  Operating System: CentOS Linux 7 (Core)

      CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-1127.el7.x86_64

      Architecture: x86-64


## 改主机名

[root@localhost ~]# hostnamectl set-hostname zzz

[root@localhost ~]# hostnamectl

  Static hostname: zzz

        Icon name: computer-vm

          Chassis: vm

        Machine ID: 82bee73de0754fffa5d872ab99d4d0f7

          Boot ID: 0e166f2c86124349b2777b2910eea254

    Virtualization: vmware

  Operating System: CentOS Linux 7 (Core)

      CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-1127.el7.x86_64

      Architecture: x86-64


[root@localhost ~]# cat /etc/hostname

zzz

退出重新登陆...再次登录

[root@zzz ~]#


改字符集

[root@zzz ~]# cat /etc/locale.conf

LANG="en_US.UTF-8"


[root@zzz ~]# localectl set-locale LANG=...                   字符集待定考究


十三, 单用户和救援模式


root忘记密码

[root@zzz ~]# echo $RANDOM|passwd --stdin root

1,关机

2,开机

开机界面按e进入grub菜单

3,linux16开头的行,quiet后面加上 init=/bin/bash enforcing=0 (这一步是关闭selinux)

4,按ctrl+x 进入下一个页面  单用户模式

5,重新挂载 跟/ 分区,  mount -o rw,remount /    

6,重新设置密码


7,vim /etc/sysconfig/selinux     selinux=disable  (不然每次登陆都需要重新挂载)

8,exec /sbin/init    (单用户关机重启命令)

就可以连接了~~~·




救援模式(当系统损坏,数据很重要,无法开机)

1,关机

2,开机处电击  -->打开电源时进入固件

3,选boot   下面的都一个 CD-ROM Drive  按F10  yes

4,进入救援模式     troubleshooting

5,选择故障排除模式  rescue a centos system

6,选择继续,continue 就是1    回车

7,chroot /mnt/ sysimage

执行任务,比如cp /opt

执行完exit退出

poweroff


##再开机还是进入救援模式。需要改过来

1,开机处电击  -->打开电源时进入固件

2,选Removable Devices  保存

3,正常启动


更改网卡名称

命名规则:

net.ifnames=1        默认1,启动

biosdevname=0


传统命名方式:eth0 eth1


若要更改为传统模式

net.ifnames=0

biosdevname=0


##命令行修改

1,  cd /etc/sysconfig/network-scripts/

2,  mv ifcfg-enss33 ifcfg-eth0

继续执行如下:

sed -i 's#enss33#etho#g' ifcfg-eth0

cd

vim /etc/sysconfig/gurb

倒数第二行biosdevname=0的前面加上net.ifnames=o

grub2.mkconfig -o /boot/grub2/grub.cfg

reboot

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,710评论 4 376
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,839评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,295评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,776评论 0 223
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,198评论 3 297
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,074评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,200评论 2 322
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,986评论 0 214
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,733评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,877评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,348评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,675评论 3 265
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,393评论 3 246
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,209评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,996评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,212评论 2 287
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 36,003评论 2 280