Linux日常运维管理-------(第一周笔记)

Linux日常运维管理1

单元1 Linux常用系统命令

1.w:查看当前系统的负载

Linux日常运维管理-------(第一周笔记)

load average后面的三个数值,第一个数值表示 1分钟内系统的平均负载值;第二个数值表示 5分钟内系统的平均负载值;第三个数值表示 15分钟系统的平均负载值。

2.cat /proc/cpuinfo 查看cpu详细信息

​ cat /proc/cpuinfo | head -n20 显示前二十行信息

3.vmstat:监控系统的状态

Linux日常运维管理-------(第一周笔记)
上面的 w 查看的是系统整体上的负载,通过看那个数值可以知道当前系统有没有压力,但是具体是哪里(CPU, 内存,磁盘等)有压力就无法判断了。通过 vmstat 就可以知道具体是哪里有压力。vmstat命令打印的结果共分为**6部分:procs, memory, swap, io, systemcpu**. 重点关注r b si so bi bo几列。

(1)procs 显示进程相关信息
r:表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用
b:表示等待资源的进程数,比如等待I/O,内存等,这列的值如果长时间大于1,则需要关注一下
(2)memory 内存相关信息
swpd:表示切换到交换分区中的内存数量;
free:当前空闲的内存数量;
buff:缓冲大小,(即将写入磁盘的);
cache:缓存大小,(从磁盘中读取的);
(3)swap内存交换情况

si:由交换区写入到内存的数据量;

so:由内存写入到交换区的数据量;

(4)io 磁盘使用情况
bi:从块设备读取数据的量(读磁盘);
bo:从块设备写入数据的量(写磁盘);
(5)system 显示采集间隔内发生的中断次数
in:表示在某一时间间隔中观测到的每秒设备中断数;
cs:表示每秒产生的上下文切换次数;
(6)CPU显示cpu的使用状态
us:显示了用户下所花费cpu时间的百分比;
sy:显示系统花费cpu时间百分比;
id:表示cpu处于空闲状态的时间百分比;
wa:表示I/O等待所占用cpu时间百分比;
st:表示被偷走的cpu所占百分比(一般都为 0,不用关注);

vmstat 1 5:每隔一秒钟打印一次状态,共打印 5次。
Linux日常运维管理-------(第一周笔记)

4.top:动态监控进程所占系统资源,每隔3秒变一次。

top -bn1 它表示非动态打印系统资源使用情况,可以用在shell脚本中

5.free:查看系统内存使用情况

free以k为单位显示 -m以M为单位 -g以G为单位

6.ps:查看系统进程

用法:ps aux / ps -elf

ps经常会连同管道符一起使用,用来查看某个进程或者它的数量

eg: ps aux |grep -c mingetty

7.netstat:查看网络状况

netstat -ntpl 查看当前系统开启的端口
netstat -an 查看当前系统所有的连接

单元二:Linux网络相关

1.查看当前网卡相关信息

ifconfig\ip address

2.重启网卡

ifdown 网卡名; ifup 网卡名

3.一个网卡设定多个IP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QqYt7Cam-1595817730840)(D:learning%20soft%E5%B7%A5%E5%8C%A0%E5%B7%A5%E5%9D%8ATypora%E5%9B%BE%E7%89%87%5C1595809889945.png)]

然后编辑 ifcfg-eno16777736:1 这个配置文件,内容如下,一定要注意 DEVICE 这里
要写成 “eno16777736:1”. 编辑好后,重启网卡,之后再查看网卡 ip。

4.

hostname:显示主机名

hostname 主机名:临时修改主机名

hostname set-hostname 主机名:永久修改主机名

5.设置DNS

只要把 dns地址写到DNS配置文件/etc/resolv.conf

/etc/hosts文件

6.Linux的防火墙

SeLinux是 Redhat/CentOS系统特有的安全机制。

setenforce 0:临时关闭selinux

getenforce:查看selinux状态

默认会输出 “enforcing” , 当使
用 setenforce 0 这个命令后,再 getenforce 会输出 “permissive“。

单元三:crontab任务计划

1.

Linux的cron功能用来定期执行某一个脚本,而且cron任务计划功能的操作都是通过 crontab这个命令来完成的。

2.crontab常用参数:

-u :指定某个用户,不加-u选项则为当前用户;
-e :制定计划任务;
-l :列出计划任务;
-r :删除计划任务。

3.crontab -e:创建任务计划

crontab -e 实际上是打开了 “/var/spool/cron/username”(如果是 root则打开的是/var/spool/cron/root)这个文件。

写入内容: 01 10 05 06 3 echo “ok” > /root/cron.log

从左到右,依次为:分,时,日,月,周,命令行。而上面的例子的含义是:在 6月 5日(这一天必须是星期 3)的10点 01分执行命令 echo “ok” > /root/cron.log 。

分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7

4.查看已经设定的任务计划

crontab -l

5.删除计划任务

crontab -r

单元四:Linux同步文件

1.rsync(远程同步),类似于scp,但不会像scp一样会覆盖以前的数据

2.使用yum安装rsync(yum install -y rsync)

3.rsync语法格式

本地备份:rsync -av 文件名 路径

远程备份:rsync -av 文件名 IP:路径

rsync [OPTION]… SRC DEST
rsync [OPTION]… SRC [[email protected]]HOST:DEST
rsync [OPTION]… [[email protected]]HOST:SRC DEST

4.rsync常用选项

-a 归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD

-v 打印一些信息出来,比如速率,文件数量等

--delete 删除那些 DST中 SRC没有的文件

--exclude=PATTERN 指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)

单元五:Linux系统日记

1.日志的主要功能

审计和监测,还可以实时的监测系统状态,监测和追踪侵入者等等

2.日志的核心文件

/var/log/message,包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO错误、网络错误和其他系统错误都会记录到这个文件中。另外其他信息,比如某个人的身份切换为 root以及用户自定义安装的软件(apache)的日志也会在这里列出。通常,/var/log/messages 是在做故障诊断时首先要查看的文件。

3.dmesg命令(显示系统的启动信息)

Linux日常运维管理-------(第一周笔记)

4.last命令

Linux日常运维管理-------(第一周笔记)

last命令用来查看登录 Linux历史信息,从左至右依次为账户名称、登录终
端、登录客户端 ip、登录日期及时长。

5./var/log/secure

和登陆信息有关的日志文件为/var/log/secure, 该日志文件记录验证
和授权等方面的信息,比如 ssh登陆系统成功或者失败,都会把相关信息记录
在这个日志里。

单元六: Linux 命令 xargs 与 exec 用法

1.示例代码

Linux日常运维管理-------(第一周笔记)
它的作用就是把管道符前面的输出作为 xargs后面的命令的输入。它的好处在于可以把本来两步或者多步才能完成的任务简单一步就能完成。

2.xargs常常和 find命令一起使用

Linux日常运维管理-------(第一周笔记)
查找当前目录创建时间大于 10天的文件,然后再删除。这种应用是最为常见的,xargs后面的 rm 也可以加选项,当是目录时,就需要-r选项了。

3. 查找当前目录下所有.txt的文件,然后把这些.txt的文件变成.txt_bak

Linux日常运维管理-------(第一周笔记)
xargs -n1 –i{} 类似 for循环,-n1意思是一个一个对象的去处理,-i{}把前面的对象使用{}取代,mv {} {}_bak 相当于 mv 1.txt 1.txt_bak。

4.find命令

使用 find命令时,经常使用一个选项就是这个-exec了,可以达到和 xargs
同样的效果。
Linux日常运维管理-------(第一周笔记)
这个命令中也是把{}作为前面 find出来的文件的替代符,后面的 \ 为 ; 的脱意符,不然 shell会把分号作为该行命令的结尾。这个-exec有时候也挺实用的,它同样可以实现刚刚上面批量更改文件名的需求.

5.screen工具介绍

(1)使用 nohup,示例代码如下:

Linux日常运维管理-------(第一周笔记)
上列代码中直接加一个 ‘&’ 虽然丢到后台了,但是当退出该终端时很有可能这个脚本也会退出的,而在前面加上 nohup 就没有问题了,nohup的作用就是不挂断地运行命令。

(2)screen工具的作用

简单来说,screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器

1)打开一个会话,直接输入 screen命令然后回车,进入 screen会话窗口。如果你没有 screen命令,请用 yum install -y screen 安装,示例代码如下:
Linux日常运维管理-------(第一周笔记)
2)screen -ls 查看已经打开的 screen会话,示例代码如下: Linux日常运维管理-------(第一周笔记)
3)Ctrl +a 再按d退出该 screen会话,只是退出,并没有结束。结束的话输入Ctrl+d或者输入exit
4)退出后还想再次登录某个 screen会话,使用 sreen -r [screen 编号],这个
编号就是上例中那个 20001. 当只有一个 screen会话时,后面的编号是可以省略的。当你有某个需要长时间运行的命令或者脚本时就打开一个 screen会话,然后运行该任务。按 ctrl +a 再按 d退出会话,不影响终端窗口上的任何操作。