linux日常运维管理

时间:2022-09-30 21:53:21

linux日常运维管理1、查看系统负载命令

w命令:主要查看cpu负载

load average:一分钟内负载 五分钟内负载 十五分钟内负载

负载跟cpu核心数有关,查看cpu核心数:

# cat /proc/cpuinfo | grep 'processor' | wc -l

uptime也可以显示cpu负载

2、vmstat命令

# vmstat 1 5

1代表每一秒显示一次,5代表显示五次

r列:表示一秒内运行的进程

b列:被阻塞的进程

swpd列:有多少数据被交换,单位是kb

free列:剩余内存

buff列:缓冲

cache列:缓存

si列:swap in进入到内存的数据

so列:swap out从内存中读出来的

bi列:读磁盘,普通服务器硬盘持续超过1000说明服务器压力读取频繁

bo列:写磁盘

in列:终端的次数

cs列:上下文切换

us列:用户态的进程占用cpu的百分比

sy列:内核态的进程占用cpu的百分比、

id列:空闲

wa列:等待

st列:被偷走的

3、top命令

PID:在/proc目录下

USER:以哪个用户运行的进程

FR:值范围0到39,进程优先级,值越小优先级越高

NI:值范围-20到19,进程优先级

VIRT:进程使用虚拟内存总量=SWAP+RES

RES:进程使用的、未被换出的物理内存

SHR:贡献内存

S:进程状态D=不可中断的睡眠状态R=运行S=睡眠T=跟踪/停止Z=僵尸进程

%CPU:cpu使用率

%MEM:内存使用率

TIME+:使用cpu的时间

COMMAND:进程名称

4、sar命令(查看网卡流量)

# sar -n DEV 1 10

每秒中显示一次,显示十次,网卡流量统计

sa的历史记录记录在/var/log/sa该目录下

使用# sar -n DEV -f sa27查看27号的历史记录

# sar -q查看负载

# sar -b查看磁盘

5、free命令

# free -m按兆字节显示内存使用情况,默认是k

total:内存总量

used:内存使用情况

free:内存剩余情况

buffers:在内存中将要写入磁盘的数据

cached:将磁盘中的数据放入内存

6、ps命令

# ps aux:BSD风格的使用方法

USER:以哪个用户启动的进程

PID:进程id

%CPU:cpu使用百分比

%MEM:内存使用百分比

VSZ:虚拟内存大小

RSS:真正内存的大小

TTY:终端

STAT:进程状态S:休眠;s主进程;<优先级高;N优先级低;+前台运行的进程;R正在运行的进程;L被锁的进程;l多线程进程;Z僵尸进程;X已死的进程;T暂停的进程

START:启动时间

TIME:占用cpu的时间

COMMAND:进程的名字

7、netstat命令

# netstat -lnp查看服务器监听了那些端口

# netstat -an | grep 92.168.83.50:3402 | grep -ic estab查看连接数

8、tcpdump和tshark工具

# tcpdump -nn -i eth0 -c 5

抓取eth0网卡上的五个数据包

# tcpdump -nn tcp and port 22 -c 5

# tcpdump -nn -s0 tcp and port 22 -c 10 -w test.cap

tshark工具需要安装wireshark二进制包包

# tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"

9、selinux

查看selinux状态:# getenforce

临时关闭selinux:# setenforce 0

永久关闭:# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

如果没有getenforce和setenforce命令安装libselinux-utils包

10、netfilter --> iptables防火墙

table表-->chain链

# iptables -t filter -nvL  //查看filter表的规则

# iptables -t nat -nvL     //查看nat表的规则

# iptables -t mangle -nvL  //查看mangle表的规则

# iptables -t filter -A INPUT -p tcp --dport 80 -s 192.168.1.135 -j REJECT

-t:指定要操作的表名

-A:追加一条规则

-I:插入一条规则

-D:删除一条规则

-P:设置默认规则

-p:指定协议

--dport:指定端口号

-s:指定来源ip

-j:指定处理方式;REJECT:拒绝;DROP:丢弃;ACCEPT:接受

# iptables -F  //清空防火墙规则

# service iptables save  //将写好的防火墙规则永久保存

# iptables-save > /tmp/iptbales备份防火墙规则

# iptables-restore < iptables  //恢复防火墙规则

INPUT DROP;192.168.1.1/24 22 ACCEPT;all 80 ACCEPT ;all 21 ACCEPT;

#/bin/bash

iptables="/sbin/iptables"

$iptables -F

$iptables -P INPUT DROP

$iptables -P OUTPUT ACCEPT

$iptables -P FORWARD ACCEPT

$iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT

$iptables -A INPUT -p tcp --dport 80 -j ACCEPT

$iptables -A INPUT -p tcp --dport 21 -j ACCEPT

$iptables -A INPUT -p tcp --dport 22 -j DROP其余网段不允许连接22端口

11、cron计划任务

# crontab -l

-l:查看任务计划

-e:编辑任务计划

-r:删除任务计划

第一个段*:分钟

第二个段*:小时

第三个段*:日

第四个段*:月

第五个段*:周

12、系统服务

# ntsysv命令属于ntsysv包,没有命令可以安装,通过类似图形界面的方式控制开机启动的服务

# chkconfig --list也可以通过这个命令查看哪些服务是开机自启动的

# chkconfig vsftpd on/off可以使某些服务在开机时打开或者关闭

# chkconfig --level 23456 vsftpd on指定某些服务在启动级别时的打开或者关闭状态

# chkconifg --add 123将123的服务添加到开机启动项中,但123必须在/etc/init.d目录下,并且是可执行的文件

13、linux日志

核心的系统日志存放在/var/log/目录下

日志格式及保存方式存放在/etc/logrotate.conf和/etc/logrotate.d/目录下

查看用户登录历史的日志/var/log/wtmp该日志不能直接查看,可以用last查看

查看无效登录的历史/var/log/btmp该日志不能直接查看,可以用lastb查看

/var/log/maillog与邮件有关的日志

/var/log/secure与验证有关的日志,例如ftp登录的情况

/var/log/dmesg系统启动过程中一些硬件相关的日志

14、xargs和exec的使用

# find . -name passwd -exec cp {} {}.bak \;

# find . -name passwd | xargs -i cp {} {}.bak

两条命令执行的结果相同

# ls *.bak | xargs rm -rf也可以这样删除文件哦,很爽。。。

15、screen命令

nohup sleep 100 &丢入后台退出终端不被中断,并记录日志

screen命令输入screen包

使用方法:

# screen

输入命令比如top

然后按ctrl+a+d退出

# screen -ls查看后台程序

# screen -r id查看后台程序

按ctrl+d或者esc退出screen

16、curl命令

# curl www.baidu.com 查看百度的文本页面

# curl -I www.baidu.com查看百度的状态信息等

# curl -x61.135.169.125:80 -I www.baidu.com指定代理服务器

# curl -x61.135.169.125:80 -Iv www.baidu.com查看浏览百度是的访问过程

# curl -u fanjinbao:fanjinbao  www.fanjinbao.com访问用户名密码的页面

# curl -O http://www.baidu.com/img/bdlogo.png直接下载bdlogo.png的图片

# curl -o fanjinbao.png http://www.baidu.com/img/bdlogo.png下载并重命名为fanjinbao.png