Linux管理技巧
1.监控系统的状态
1.查看负载
2.查看CPU个数
3.监控系统状态—vmstat
4.监控进程状态—top
动态监控进程所占的系统资源,其特点是将占用系统资源的最高的进程放到最前面。后面加 -bn1可以一次列出所有的进程的静态信息。不加就是动态的每三秒刷新一次。按 shift + m 可以按进程占用内存排序。q 退出。
5.网卡流量和历史负载—sar
查看网卡流量 sar -n DEV number1 number2【动态的查看网卡的流量,以number1次每秒查看number2次网卡流量】,使用明令 sar -n DEV -f /var/log/sa/sa?? 查看近四天的网卡流量【??代表几号如:sar -n DEV -f /var/log/sa/sa01 表示查看一号的网卡流量】。sar -q 可以查看负载情况。
6.查看网卡流量—nload
直接使用命令 nolad 即可直观的查看进入网卡的流量(incoming),其中还包括进入网卡的当前流量(Curr)、最大流量(max)、最小流量(min)、总流量(Ttl)、平均流量(Avg);以及从网卡出去的流量(outgoing)。
6.查看内存情况—free
直接使用 free 即可查看 内存的总大小(total)、真正使用的实际内存大小(used)、剩余的物理内存的大小(free)【没有被分配,纯剩余】、buff/cache(分配给buff和cache的总内存是多大,buff是即将要写入磁盘的数据的缓存大小,cache是未来从磁盘读取的数据的缓存的大小)、没有被占用的buff和cache加上free就是 available(可用的内存)。还可以加 -m 或 -g 使单位变成MB或GB,-h 人性化显示。
7.查看系统进程—ps
ps aux 查看系统进程的信息,有关内容如下:
Pid 表示进程的id,如果想要终止一个进程可以使用kill -9 pid ,但是这样有可能会丢数据。
STAT:进程的状态
D:不能中断的进程
R:正在运行的进程(还包括了等待CPU时间片的进程)
S:已经中断的进程
T:已经停止或者暂停的进程。
W:没有足够的的内存页可用
X:已经死掉的进程
Z:僵尸进程,即杀不掉的垃圾进程。
<:高优先级进程
N:低优先级进程
L:在内存中被锁了内存分页
s:主进程
l:多线程进程
+:在前台运行的进程
8.查看网络状况—netstat
netstat -lntp 查看系统开了那些端口 ; netstat -an 查看网络连接状况
9.抓包工具
-
tcpdump 工具
日常用法
-
wireshark 工具
10.查看网卡连接情况
11.更改主机名
2.Linux防火墙
SELinux是Linux特有的安全防护机制。由于配置特别麻烦,所以在安装完系统之后,一般关闭SELinux。临时的关闭方法是: setenforce 0。永久关闭需要更改配置文件 /etc/selinux/config 中SELINUX变量改为 disabled,如下:
还可使用 getenforce 查看selinux有没有关闭.
2. netfilter
1.早期centos的防火墙是netfilter,centos7是firewalld。下面先是对centos7的firewalld的介绍:
查看防火墙状态:
firewall-cmd --state
关闭或打开防火墙:
systemctl stop/start firewalld.service
禁止firewalld开机自启:
systemctl disable firewalld
2.使用 iptables :
yum intsall -y iptables-services 下载iptables-service
systemctl enable iptables 让他开机启动
systemctl start iptables 启动iptables服务
iptables -nvL 查看centos默认iptables规则,防火墙的规则保存在 /etc/sysconfig/iptables
iptables -F 清除centos上默认的iptables规则
service iptables save 重启系统后还会使用原来的规则,在这里保存清除后的规则。
3.natfilter的五个表:
1.filter表主要用于过滤包,系统预设的表,此表内建三个链:
①INPUT链作用于进入本机的包 ②OUTPUT链作用于本机送出的包 ③FOREWARD链作用于与本机无关的包
2.nat表主要用于网络地址转换,内建三个链:
①PREROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址(如 果需要的话),在包即将离开防火墙时改其源地址②OUTPUT链的作用是改变本地产生的包的目的地址
3.mangle表主要用于给数据包做标记,然后根据标记去操作相应的包
4.raw表可以实现不追踪某些数据包,默认系统的数据包都会被追踪,但追踪势必消耗一定的资源,所以可以用raw来指定某些端口的包不被追踪
4.iptables查看规则和清除规则 iptables -nvL -t filter ;iptables -Z/F
-t 选项跟表名,默认filter
-n不针对IP反解析主机名
-L列出
-v 列出的信息更加详细
-F 把所有规则全部删除,如果不加-t指定表则只清除filter表的规则
-Z 把包以及流量计数器置零(有点重要)
5.iptables增加规则-A/-D 表示增加或删除一条规则
-p表示指定协议tcp,dup,icmp
–dport和-p一块使用表示指定目标端口
–sport和p一块使用表示指定源端口
-s表示指定源IP
-d表示指定目的IP
-j后面跟动作ACCEPT表示允许包,DROP表示丢掉包,REJECT表示拒绝包
-i 表示指定网卡
补充:-P 链 ACCEPT/DROP/REJECT 【预设策略,默认是accept,远程登录时慎用】
6.关于icmp包
3.Linux系统服务管理
1.chkconfig 服务管理工具
1.chkconfig是centos6的服务管理工具,所有预设的服务都能在目录 /etc/init.d查看
2.通过**service 服务名 start|stop|restart 来打开|关闭|重启一个服务。另也可使用/etc/init.d/服务名 start **来打开一个服务。
3.服务及其每个级别的开启状态
4.级别开关的管理
5.将某个服务加入或删除系统服务
常用于将自定义启动脚本加入到系统服务当中
4. Linux下数据备份工具 --rsync
4.1 rsync 的特点
既可以远程备份也可以本地备份。
4.2 具体命令
本地备份: rsync -av SRC 目的的
远程备份: rsync -av SRC IP:目的地
相关参数:-a 这是归档模式,表示递归方式传输文件,并保持所有属性。
-v 可视化 --exclude=“文件名” 传递时不包含那些文件 --delete 在二次传输中将目的地的文件与SRC下的同步。
5. 系统日志
-
Linux 下的核心系统日志文件是 /var/log/message,包含了系统启动时的引导消息,以及系统运行的其他状态消息。IO 错误、网络错误和其他系统错误全都记录其中。所以有 bug 应该是首先查看他
-
dmesg 命令,显示系统启动信息,硬件有问题就找他。
dmesg | less
-
last 命令,查看登录Linux历史信息
# last reboot system boot 3.10.0-327.el7.x Wed Mar 17 05:34 - 05:39 (00:05) 账户名称 登陆终端 登录客户IP 登录时间以及登录时长
-
/var/log/secure
该日志文件记录验证和授权等方面信息,ssh 登录成功或失败,会有记录