定時任務(wù),磁盤&系統(tǒng)&進程管理

一, 定時任務(wù)


crontab -e? ? 定時任務(wù)編寫

crontab -l? ? ?查看定時任務(wù)

##以同步系統(tǒng)時間為例


crontab -e? (出現(xiàn)文本編輯框,編輯內(nèi)容如下)

#同步系統(tǒng)時間,作者:美麗的雪兒 時間:2020.0809? ? ? ? 本行相當于注釋信息

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

分時日月周,注意空格分開,一定是命令的絕對路徑,定時任務(wù),結(jié)果輸出到一個文件中,否則占用磁盤內(nèi)存過大,再就是索引號占用太多

用到兩個配置

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

如果不把輸出結(jié)果放到一個文件夾,注意以上的27940變化,會越來越大

這時候可以? ?systemctl stop postfix? ?關(guān)掉郵件服務(wù)

需要打開的話?systemctl start? postfix? ?關(guān)掉郵件服務(wù)


2,? ? ? ? /var/log/cron

可以查看定時任務(wù)的更新

[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/

如果沒有把輸出結(jié)果放在一個文件夾,打開以上會隨著定時任務(wù)數(shù)據(jù)的產(chǎn)生創(chuàng)建文件夾,文件夾里的內(nèi)容就是定時任務(wù)的數(shù)據(jù),導(dǎo)致索引號會過多而磁盤空間變少



#同步系統(tǒng)時間,作者:美麗的雪兒 時間:2020.0809

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

#注釋隨便寫

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

以上執(zhí)行的命令中有特殊符號,一定加加轉(zhuǎn)義符,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? ? ? ? ? ? ? ? ? ?--改變環(huán)境變量,路徑輸出

# 準備備份目錄

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天以前的數(shù)據(jù)

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

關(guān)于PATH的作用:

(PATH說簡單點就是一個字符串變量,當輸入命令的時候LINUX會去查找PATH里面記錄的路徑。比如在根目錄/下可以輸入命令ls,在/usr目錄下也可以輸入ls,但其實ls這個命令根本不在這個兩個目錄下,事實上當你輸入命令的時候LINUX會去/bin,/usr/bin,/sbin等目錄下面去找你此時輸入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒號使目錄與目錄之間隔開。) --來源于百度

相關(guān)配置文件

/etc/profile

.bashrc?


~? ?然后執(zhí)行腳本? ? ? ? ? ? ??

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


## 定時任務(wù)編輯

[root@localhost ~]#? crontab -e

# 備份系統(tǒng)文件

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

~? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

~? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

## 查看定時任務(wù)日志

[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)

## 查看定時任務(wù)系統(tǒng)郵件

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

# 備份系統(tǒng)文件

* * * * * /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機械硬盤:傳統(tǒng)磁盤,主要由磁頭,盤片和盤片轉(zhuǎn)軸組成

SSD固態(tài)硬盤:固態(tài)電子存儲芯片制列而成


磁盤結(jié)構(gòu):

盤片? ? ? ? ? ? ?兩面

磁道? ? ? ? ? ? 同心圓

磁頭? ? ? ? ? 讀寫數(shù)據(jù)

扇區(qū)? ? ? ? ? 最小的存儲單位? 512字節(jié)

柱面?



##? 區(qū)別

HDD機械硬盤:體積大容量大,壽命無線使用,讀寫性能差,抗極大能力差,數(shù)據(jù)恢復(fù)容易

SSD 固態(tài)硬盤:容量小價格貴,使用壽命有限(格式化2w次左右),讀寫能力快,抗擊打能力強,數(shù)據(jù)恢復(fù)難


磁盤的接口:

主要SATA? ? SAS 企業(yè)使用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IDE,SCSI 已淘汰

固態(tài) PCIE


磁盤單位的專業(yè)術(shù)語:

尺寸: 2.5英寸? 3.5英寸

單位:bit b B KB MB GB TB PB?

? ? ? ? ? ? 1B=8bite 8個二進制

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



三 ,磁盤分區(qū)


查看磁盤信息? ? ? ?fdisk -l? ? 或? ? ? lsblk

##? 添加磁盤需要關(guān)閉虛擬機,設(shè)置里增加磁盤,重啟


## 查看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? ? ? ? ? ? ? ? ? ? ? ? ? ???-第一塊磁盤的第一個分區(qū)

├─sda2? 8:2? ? 0? ? 1G? 0 part [SWAP]? ? ? ? ? ? ? ? ? ? ? ? ? ??-第一塊磁盤的第二個分區(qū)

└─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分區(qū)

[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? ? ? ? ? ? --新建分區(qū)

Partition type:

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

? e? extended

Select (default p): p? ? ? ? ? ? ? ? ? ? ? ? --基本區(qū)

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? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --新建擴展區(qū)

Partition number (2-4, default 2): 4? ? ? ? ? ? ? ? ? ? ? ?--前三是基本區(qū),數(shù)字4擴展區(qū)好辨認

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分區(qū)表是針對GTB以下容量分區(qū),4個分區(qū),三個基本區(qū),一個擴展區(qū),擴展區(qū)不能直接使用,下面可建邏輯區(qū);

? ? ? ? ? ?GPR分區(qū)表針對2TB以上分區(qū),有128個分區(qū))? ?##

##? ? ?MBR位置 0磁頭0磁道1扇區(qū)? 512字節(jié)


##分完區(qū)查看磁盤分區(qū)情況

[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為空目錄


## 查看磁盤掛載狀態(tài)

[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


## 把文件復(fù)制到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

## 再把第二塊磁盤的第一個分區(qū)sdb1掛載到新建的空目錄下

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


## 查看該空目錄下的文件,即出現(xiàn)之前步驟中復(fù)制的文件

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

total 4

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


## 統(tǒng)計當前目錄占用空間大小? ? 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? 虛擬內(nèi)存 磁盤的分區(qū),屬于磁盤空間

當物理內(nèi)存不足臨時充當內(nèi)存

OOM ,即 out of memory 內(nèi)存不足,內(nèi)存溢出


## 查看內(nèi)存容量

[root@babyzzz ~]# free -m

? ? ? ? ? ? ? total? ? ? ? used? ? ? ? free? ? ? shared? buff/cache? available

Mem:? ? ? ? ? ? 972? ? ? ? 145? ? ? ? 336? ? ? ? ? 7? ? ? ? 490? ? ? ? 620

Swap:? ? ? ? ? 1023? ? ? ? ? 0? ? ? ? 1023


## 關(guān)閉內(nèi)存

[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


## 開啟內(nèi)存

[root@babyzzz ~]# swapon -a??

## 給swap分區(qū)

[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

## 和之前分區(qū)一樣步驟

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

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

更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。

使用寫入命令前請三思。

命令(輸入 m 獲取幫助):n

Partition type:

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

? l? logical (numbered from 5)

Select (default p): p

分區(qū)號 (2,3,默認 2):

起始 扇區(qū) (31459328-104857599,默認為 31459328):

將使用默認值 31459328

Last 扇區(qū), +扇區(qū) or +size{K,M,G} (31459328-104857599,默認為 104857599):+2G

分區(qū) 2 已設(shè)置為 Linux 類型,大小設(shè)為 2 GiB

命令(輸入 m 獲取幫助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盤。


## 把sdb2變成swap

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

正在設(shè)置交換空間版本 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


## 查看總內(nèi)存大小

[root@babyzzz ~]# swapon -s

文件名? ? ? ? ? ? ? ? ? 類型? ? ? ? ? ? ? ? ?大小? ? ?已用? 權(quán)限

/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級別:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?硬盤數(shù)量? ? ? ? ? ? ? ? ? ? 容量? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 性能? ? ? ? ? ? ? ? ? ? ? 冗余? ? ? ? ? ? ? ? ? ? ? ? ? ? ?應(yīng)用場景?

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(數(shù)據(jù)空間)滿


## inode滿? ? ? ? ? ? ?創(chuàng)建文件數(shù)量限制

[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


## 查看文件系統(tǒng)的相關(guān)信息

[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號使用數(shù)據(jù)

[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查找文件或者大的目錄


六, 進程介紹


程序:靜態(tài),一堆代碼或者數(shù)據(jù)的集合

進程:動態(tài),程序運行的過程,有生命周期


進程的運行,系統(tǒng)會為其分配內(nèi)存,ID PID PPID 運行的狀態(tài) 環(huán)境變量 進程標識符

fo查看命令生成多個子進程,子進程會執(zhí)行具體的任務(wù),父進程進入等待,子進程處理完畢后,向父進程交任務(wù)然后退出,

子進程運行過程中,父進程非正常退出,子進程就沒有人進行管理,就會變成僵尸進程



實時進程:一直運行到退出才會釋放cpu,類似打開的網(wǎng)頁游戲,優(yōu)先級是1-99

priority(PR)? 優(yōu)先級:動態(tài)優(yōu)先級,實時進程

NICE(NI):靜態(tài)優(yōu)先級 100-139,非實時進程

普通進程:NICE值簡稱NI值,-20-40,值越小系統(tǒng)優(yōu)先級越高,也就是100-139

##

守護進程:ps -x

普通進程:ps 或 帶參數(shù)的其他ps命令

后臺進程:jobs 或 前面的上述的那些命令

fg :將后臺中的命令調(diào)至前臺繼續(xù)運行

##

& :這個用在一個命令的最后,可以把這個命令放到后臺執(zhí)行

ctrl + z :可以將一個正在前臺執(zhí)行的命令放到后臺,并且暫停

jobs :查看當前有多少在后臺運行的命令


為什么要有進程優(yōu)先級?

----進程執(zhí)行占用cpu,有的進程重要,有的進程不重要



七, 進程的狀態(tài)


ps

選項:

-a? ?查看所有進程

-u? ?顯示有效用戶和id信息

-x? ?顯示沒有終端的進程


## 靜態(tài)ps

root@babyzzz ~]# ps -aux

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

VSZ 虛擬內(nèi)存集

RSS 物理內(nèi)存集


ps -ef? x顯示父進程pid


動態(tài)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? ?內(nèi)部指令

?P 以cpu使用率進行排序

?M?以內(nèi)存使用率進行排序

?q? 退出


top -d 1刷新時間 1s刷新一次

top -p 1 指定uid 為1

top -u? ?root 指定用戶root

##? htop 有顏色,和top一樣,可以用鼠標點,或者glance


八 ,管理進程狀態(tài)


kill?

-1 加載

-9 強制終止進程

-15 默認 終止進程


## 執(zhí)行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 根據(jù)進程ID,精確匹配

[root@babyzzz ~]# killall top


pkill? 模糊(終極)殺手,進程名稱終止,包含這個名稱的進程都會終止

??!??危險

九, 后臺進程管理


如果在備份數(shù)據(jù)或者在執(zhí)行cp命令,網(wǎng)絡(luò)原因中斷

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

中斷后再次連接,

[root@babyzzz ~]# ps -aux |grep tar 會顯示未完成的tar命令進程


jobs 命令,查看正在后臺運行的指令


查看進程中是T的,是暫停進程,如果要繼續(xù)運行

fg %對應(yīng)的編號


ctrl+z 在后臺停止

[root@babyzzz ~]# jobs

[1]+? 已停止? ? ? ? ? ? ? top


[root@babyzzz ~]# fg %1? ?讓前臺的程序繼續(xù)在前臺執(zhí)行

[root@babyzzz ~]# bg %1? ?讓后臺程序繼續(xù)在后臺繼續(xù)執(zhí)行

[1]+ top &


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

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


重要?。。。。。?/p>

sreen -S? 新打開一個窗口? 自定義名稱

screen -r? ?進入這個窗口

screen -x 進入后臺窗口 查看另一個窗口的操作

sreen -S vim

ctrl a+d 臨時退出界面

exit 真正退出





十, 系統(tǒng)平均負載


單位時間內(nèi),系統(tǒng)正在運行或者不可中斷的數(shù)量,進程的活躍數(shù)

查看負載值命令:

uptime

top

w


load average的輸出值? ? ? ? ? ?load average:1.76, 2.14, 2.20? ? ? ?分別代表1分鐘,5分鐘,10分鐘

首先要知道cpu的個數(shù)

比如CPU的核心數(shù)是4,輸出值是2, 那么負載為2除以4=50%? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

比如CPU的核心數(shù)是2,輸出值是2, 那么負載為2除以2=100%

比如CPU的核心數(shù)是1,輸出值是2, 那么負載為2除以1=200%? 代表超負載

#

就是說輸出值如果大于CPU核心數(shù),說明CPU繁忙,負載很高,可能會影響系統(tǒng)性能輸出

如果小于CPU核心數(shù),表示CPU較空閑

#

如果一份的值大于5分鐘大于15分鐘的值,說明之前的系統(tǒng)負載時平穩(wěn)的,最近一分鐘負載過高

如果一份的值小于5分鐘大于15分鐘的值,說明之前的系統(tǒng)負載過高,最近一分鐘是平穩(wěn)的



十一, 開機流程及運行級別


系統(tǒng)開機啟動流程:

1,電源

2,BIOS自檢 (堅持機器硬盤,內(nèi)存,CPU等設(shè)備,系統(tǒng)報錯就沒法正常啟動)

3,MBR引導(dǎo)

4,GRUB菜單

5,內(nèi)核加載

6,運行系統(tǒng)管理進程? ?(0-6,? ? ? 7個級別)

7,讀取系統(tǒng)管理級別

8,系統(tǒng)初始化

9,開啟系統(tǒng)開機自啟動服務(wù) 并啟動

10,運行g(shù)etty進程,進入登錄界面? ?(getty即終端)


系統(tǒng)的運行級別:

[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 關(guān)機

1 單用戶? ? ? ? ?root權(quán)限,用于系統(tǒng)維護,禁止遠程登陸

2 多用戶? ? ? ??(無網(wǎng)絡(luò))

3 多用戶? ? ? ?(有網(wǎng)絡(luò),Linux系統(tǒng)級別為3)

4 多用戶? ? ? ? ? ? ? 系統(tǒng)未使用 保留

5 圖形界面

6 重啟


十二,系統(tǒng)管理


systemctl命令?,? 以nginx為例

systemctl start nginx? ? ? ? ? ? ? ? 啟動

systemctl stop nginx? ? ? ? ? ? ? ? ?停止

systemctl status nginx? ? ? ? ? ? ? ? 狀態(tài)

systemctl restart? nginx? ? ? ? ? ? ? ? ?重啟

systemctl reload nginx? ? ? ? ? ? ? ? ? 平緩重啟(改變了配置,但是不重啟)

systemctl enable? ? ? ? ? ? ? ? ? ? ? 開機自啟動

systemctl disable? ? ? ? ? ? ? ? ? ? ? ? 取消開機自啟動

systemctl mask? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?禁止服務(wù)

systemctl unmask? ? ? ? ? ? ? ? ? ? ? 解除禁止


##Active:? 狀態(tài)有

? ? 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.


##? 查看狀態(tài)會出現(xiàn)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


## 查看當前運行級別的服務(wù)的狀態(tài)

[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

...


## 實時查看日志服務(wù),/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



##? 查看主機相關(guān)信息

[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,關(guān)機

2,開機

開機界面按e進入grub菜單

3,linux16開頭的行,quiet后面加上 init=/bin/bash enforcing=0 (這一步是關(guān)閉selinux)

4,按ctrl+x 進入下一個頁面? 單用戶模式

5,重新掛載 跟/ 分區(qū),? mount -o rw,remount /? ??

6,重新設(shè)置密碼


7,vim /etc/sysconfig/selinux? ? ?selinux=disable? (不然每次登陸都需要重新掛載)

8,exec /sbin/init? ? (單用戶關(guān)機重啟命令)

就可以連接了~~~·




救援模式(當系統(tǒng)損壞,數(shù)據(jù)很重要,無法開機)

1,關(guān)機

2,開機處電擊? -->打開電源時進入固件

3,選boot? ?下面的都一個 CD-ROM Drive? 按F10? yes

4,進入救援模式? ? ?troubleshooting

5,選擇故障排除模式? rescue a centos system

6,選擇繼續(xù),continue 就是1? ? 回車

7,chroot /mnt/ sysimage

執(zhí)行任務(wù),比如cp /opt

執(zhí)行完exit退出

poweroff


##再開機還是進入救援模式。需要改過來

1,開機處電擊? -->打開電源時進入固件

2,選Removable Devices? 保存

3,正常啟動


更改網(wǎng)卡名稱

命名規(guī)則:

net.ifnames=1? ? ? ? 默認1,啟動

biosdevname=0


傳統(tǒng)命名方式:eth0 eth1


若要更改為傳統(tǒng)模式

net.ifnames=0

biosdevname=0


##命令行修改

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

2,? mv ifcfg-enss33 ifcfg-eth0

繼續(xù)執(zhí)行如下:

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

cd

vim /etc/sysconfig/gurb

倒數(shù)第二行biosdevname=0的前面加上net.ifnames=o

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

reboot

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容