监控系统状态

w(查看当前系统负载)

查看当前系统的负载
image.png一般不超过服务器CPU数量就没关系
查看系统内核数:服务器文件/proc/cpuinfo 查看(cat 文件名)’processor’关键词查看cpu

vmstat(系统具体压力处)

查看系统状态,
image.png

top(显示系统所占资源)

显示进程所占系统资源,用于动态监控进程所占系统资源(动态打印)
top -bn1(非动态打印)

free(查看内存使用)

-m (M) -g (G)

ps(查看系统进程)

-aux -elf

netstat命令

用来打印网络连接状况、系统所开放端口、路由表等信息
netstat -lnp (打印当前系统启动哪些端口)以及 netstat -an (打印网络连接状况)

网络相关

ifconfig(查看网卡信息)

不加任何选项和参数只打印当前网卡的IP(/ifcfg-eth0)相关信息(子网掩码、网关等)

ifdown(重启某一网卡)

如果Linux上有多个网卡,而只想重启某一个网卡
service network restar重启网卡。

ifup(启动网卡)

hostname(修改主机名)

永久修改主机名vi /etc/sysconfig/network

设置DNS

DNS是用来解析域名用的,dns配置文件(/etc/resolv.conf)
image.png
上面那行以 ‘;’ 为开头的行是一行注释
resolv.conf有它固有的格式,一定要写成 “nameserver IP” 的格式,
建议写两个或多namserver ,默认会用第一个namserver去解析域名,当第一个解析不到时会使用第二个。
image.png
特殊的文件/etc/hosts也能解析域名它的作用是临时解析某个域名
image.png
再ping一下 master就会到10.10.10.10 了
1)一个IP后面可以跟多个域名,可以是几十个甚至上百个;
2)每行只能有一个IP,也就是说一个域名不能对应多个IP;
3)如果有多行中出现相同的域名(前面IP不一样),会按最前面出现的记录来解析。

linux的防火墙(关闭)

SeLinux是Redhat/CentOS系统特有的安全机制。
临时关闭seLinux的命令,可以使用setenforce 0
可以使用 getenforce 命令获得当前seLinux的状态

  1. [root@ceshi ~]# getenforce
  2. Enforcing

早已关闭selinux
关闭SeLinux方法:使“SELinux=disabled”, 默认为 enforcing

  1. [root@ceshi ~]# vim /etc/sysconfig/seLinux
  2. # This file controls the state of SELinux on the system.
  3. # SELinux= can take one of these three values:
  4. # enforcing - SELinux security policy is enforced.
  5. # permissive - SELinux prints warnings instead of enforcing.
  6. # disabled - No SELinux policy is loaded.
  7. SELinux=disabled
  8. # SELinuxTYPE= can take one of these two values:
  9. # targeted - Targeted processes are protected,
  10. # mls - Multi Level Security protection.
  11. SELinuxTYPE=targeted

linux系统任务计划

crontab(检查管理并执行定期任务)

系统定期执行某一脚本需借助linux的cron功能,关于cron任务计划功能操作都是通过crontab命令完成的。
crontab被用来提交和管理用户的需要周期性执行的任务
-u :指定某个用户,不加-u选项则为当前用户;
-e :制定计划任务;
-l :列出计划任务;
-r :删除计划任务。

  1. [root@ceshi ~]# crontab -e
  2. no crontab for root -using an empty one
  3. 01 10 05 06 3 echo ok > /root/cron.log

-e 实际上是使用vim工具打开了crontab的配置文件使用的是vi编辑器(千万不要直接编辑那个文件)
数字表示从左到右从左到右,依次为:分,时,日,月,周,命令行。而上面的例子的含义是:在6月5日(这一天必须是星期3)的10点01分执行命令 echo “ok” > /root/cron.log

linux系统数据备份

rsync(同步数据/文件)

rsync不仅可以远程同步数据,当然还可以本地同步数据,rsync不像cp/scp一样会覆盖以前的数据(如果数据已经存在),它会先判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉。

  1. [root@sensi ~]# rsync -av sync.txt /tmp
  2. sending incremental file list
  3. sync.txt
  4. sent 1799 bytes received 31 bytes 3660.00 bytes/sec
  5. total size is 1723 speedup is 0.94

将当前目录下的sync.txt同步到/tmp/目录下,也可以更改目标文件的名字, rsync -av sync.txt(旧名字) /tmp/newsync.txt(新名字), 如果是远程拷贝的话就是这样的形式了: IP:path (如:10.0.2.34:/root/)

  1. [root@censi ~]# rsync -av sync.txt 118.89.199.110:/tmp/newsync.txt
  2. root@118.89.199.110's password:
  3. sending incremental file list
  4. sent 33 bytes received 12 bytes 18.00 bytes/sec
  5. total size is 1723 speedup is 38.29

rsync的命令格式
一 rsync [OPTION]… SRC DEST
二 rsync [OPTION]… SRC [USER@]HOST:DEST
rsync [OPTION]… [USER@]HOST:SRC DEST
常用命令:
-a 归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD, -a选项后面可以跟一个 —no-OPTION 这个表示关闭-rlptgoD中的某一个例如 -a—no-l 等同于-rptgoD
-v 打印一些信息出来,比如速率,文件数量等
—delete 删除那些DST中SRC没有的文件
—exclude=PATTERN 指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)

linux系统日记

常查看的日志文件为/var/log/message, (故障诊断时首要查看的日志)
由syslogd守护进程产生的如果停掉这个服务则系统不会产生/var/log/messages

dmesg (显示系统的启动信息)

某硬件之类的问题比如网卡

last(显示历史登录信息)

实际上是读取了二进制日志文件/var/log/wtmp
另外一个和登陆信息有关的日志文件为/var/log/secure,该日志文件记录验证和授权等方面的信息,比如ssh登陆系统成功或者失败,都会把相关信息记录在这个日志里。
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

linux命令xargs与exec用法

xargs(组合多个命令)

它的作用就是把管道符前面的输出作为xargs后面的命令的输入。(将两部/多部简单成一部完成)(连接两个命令)

  1. [root@ceshi ~]# echo "121212121212">123.txt
  2. [root@ceshi ~]# ls 123.txt |xargs cat
  3. 121212121212

常与find命令一起使用,比如,查找当前目录创建时间大于10天的文件,然后再删除, 示例代码如下:

  1. [root@ceshi ~]# find . -mtime +10 |xargs rm -

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

  1. [root@ceshi ~]# mkdir test
  2. [root@ceshi ~]# cd test
  3. [root@ceshi test]# touch 1.txt 2.txt 3.txt 4.txt 5.txt
  4. [root@ceshi test]# ls
  5. 1.txt 2.txt 3.txt 4.txt 5.txt
  6. [root@ceshi test]# ls *.txt |xargs -n1 -i{} mv {} {}_bak
  7. [root@ceshi test]# ls
  8. 1.txt_bak 2.txt_bak 3.txt_bak 4.txt_bak 5.txt_bak

xargs -n1 –i{} 类似for循环,-n1意思是一个一个对象的去处理,-i{}把前面的对象使用{}取代,mv {} {}_bak 相当于 mv 1.txt 1.txt_bak。

exec(组合命令与xargs命令相似)

查找当前目录创建时间大于10天的文件,然后再删除, 示例代码如下:

  1. [root@ceshi test]# find . -mtime +10 -exec rm -rf {}\;

sereen工具介绍

nohup(不挂断的运行命令)

  1. [root@VM_10_10_centos ~]# cat /usr/local/sbin/sleep.sh
  2. #!/bin/bash
  3. sleep 1000
  4. [root@VM_10_10_centos ~]# nohup sh /usr/local/sbin/sleep.sh&
  5. [1]19997

screen工具的使用
screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。
screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的SSH连接窗口那样。

  1. [root@ceshi ~]# screen
  2. [root@ceshi ~]# screen -ls
  3. There is a screen on:
  4. 3318.pts-0.ceshi (Detached)
  5. 1 Socket in /var/run/screen/S-root.
  6. [root@ceshi ~]#

Ctrl +a 再按d退出该screen会话,只是退出,并没有结束。结束的话输入Ctrl +d 或者输入exit
退出后还想再次登录某个screen会话,使用sreen -r [screen 编号]