日常运维总结

目录

日常运维记录

1.linux运维总结命令篇

1.1.linux下nohup  java执行

1.2.linux下压缩 zip tar使用详情

1.3.scp和rsync传输

1.4.linux防火墙基础使用

1.5.linux设置开机启动  

1.6.rpm包的使用

1.7.sar的使用

1.8.crontab 任务调度计划

1.9.linux网卡配置

1.10.linux分盘后 刷新监测

1.11.查看tcp链接数量

1.12.设置机器密码永不过期

1.13.netstat  ps 解析

1.14.linux设置中文语言

1.15.linux查看系统信息

1.16.linux修改文件权限所有者

1.17.创建linux分组

2.linux网络路由

2.1.永久路由

2.2.linux三剑客稍写

2.3.linux环境变量输出

3.Linux docker学习

4.linux  nginx代理

4.1日常简单代理

5.数据库相关

5.1.mysql相关

5.2.oracle相关


日常运维记录

1.linux运维总结命令篇

1.1.linux下nohup  java执行

   nohup java -jar   文件名字  >inter.log &    (jar包执行)

   tail -n 500 nohup.out >inter.log   (查看inter.logh后500行日志文件)
  若指定一个文件输出日志  例:nohup java -jar interfaces-1.1.0-zz3.jar >inter.log &
  指定端口部署jar包 例:
  nohup java -jar interfaces-1.0.0.jar --server.port=30030>inter30030.log &

(加上nohup 和& 是在后台执行 连接断了也不影响运行)

1.2.linux下压缩 zip tar使用详情

Linux zip分卷压缩         nohup zip -r -s 5g 2022.zip ./2022 &      (加上nohup 和& 是在后台执行 连接断了也不影响运行)
                                         -s是分割每个的大小
  Linux zip分卷解压    
  unzip -d /opt new.zip    new.zip文件解压到opt目录下


  tar -zcvf   a.tar.gz   a1.txt a2.txt  (对多个文件进行打包压缩) 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt  压缩成    a.tar.gz
  tar -zxvf   a.tar.gz                           将 a.tar.gz    解压到当前目录
  tar -zxvf   a.tar.gz   -C  /opt/               将 myhome.tar.gz解压到 /opt/ 目录下

1.3.scp和rsync传输

  • 1.3.1scp机器机器之间文件传输

scp -r    /res6000/data/dianwei.zip   root@10.41.33.63/root/yuanwanghechu
(将此目录下dianwei.zip传输到10.41.33.63l路径下)

  • 1.3.2rsync差异化传输(支持断点续传,数据同步)

  rsync -av /u01/XYH/userdata/2021/ root@10.239.0.1:/data/XYH02/userdata02/
  rsync -avhP /u01/XYH/userdata/2021/ root@10.239.0.1:/data/XYH02/userdata02/
  rsync -av /data/cr.sh root@192.168.118.132:/data/
rsync -av /u01/XYH/userdata/2022/ root@10.239.86.52:/data/XYH/userdata/
nohup rsync -avuz -e 'ssh -p 9999' root@10.239.0.3:/u01/XYH /data/XYH/ &   从0.3传输文件到本机
rsync -avuz /data/XYH/23 -e 'ssh -p 8888'   root@10.233.67.226:/data/XYH/23

P:表示在传输被中断后,如果目标文件部分传输完成,那么 rsync 会保留这个文件,并在下次同步时从断点处继续传输,而不是重新传输整个文件。

-a :选项尽量保持源目录的所有属性和结构。

-v:详细模式(verbose mode),在同步过程中显示更多的信息,包括哪些文件被复制、删除等。

-h:人类可读模式(human-readable mode),在显示传输速率、文件大小等信息时,以更易于阅读的格式(如 KB/s, MB/s, GB/s)显示.

综上所述,这个命令的作用是:以归档模式(尽可能保持原样),详细且人类可读地,从本地目录 /u01/XYH/userdata/2021/ 同步文件到远程机器 10.239.0.1 的 /data/XYH02/userdata02/ 目录下,同时在同步过程中显示进度信息,并在传输被中断时保留部分传输的文件以便下次继续。

1.4.linux防火墙基础使用

防火墙端口号开启   
firewall-cmd list-all
vim /etc/firewalld/zones/public.xml    

开启后需要重启服务      systemctl restart firewalld.service或者firewall-cmd --reload


<service name="ssh"/>
<masquerade/>
<service name="dhcpv6-client"/>
<port protocol="tcp" port="8088"/>
<port protocol="tcp" port="9001"/>
<port protocol="tcp" port="9002"/>
 开启端口号

定义来自来自IPv4地址10.240.0.6的TCP流量通过端口8085进入时才会被允许通过(接受)
<rule family="ipv4">
    <source address="10.240.0.6"/>
    <port protocol="tcp" port="8085"/>
    <accept/>
  </rule>

1.5.linux设置开机启动  

 more /etc/rc.d/rc.local  此路径下  例: bash /opt/start.sh   自启动一个脚本

1.6.rpm包的使用

rpm -ivh traceroute-2.0.22-2.e17.x86_64.rpm  

1.7.sar的使用

 sar -n DEV               监视服务器上的网络流量
   
 ################  格式  ######################        
 
%io/wait(代表硬盘输入输出有问题)  
%steal     管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。
1.若 %iowait 的值过高,表示硬盘存在I/O瓶颈
2.若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
3.若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU。

      sar -n DEV 1 5
                -n:次数
                DEV:类型参数
                1:时间间隔
                5:次数
   sar -u 1                               5秒输出一次CPU利用率信息
   sar -P  ALL  1                        “-P ALL”选项指示对每个内核输出统计信息:
   sar -q -s 10:00:00 -e 18:00:00       显示从上午10点到下午6点期间的系统负载情况。
   sar -r  1                             内存监控
   sar -d -p 3 2      各个I/O设备情况 (使用-d选项可以显示各个磁盘的统计信息,再增加-p选项可以以sdX的形式显示设备名称)
   1.如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
   2.如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。
   3.如果avgqu-sz比较大,也表示有大量io在等待。

1.8.crontab 任务调度计划

3 3 * * * echo >/opt/dgNew/nohup-2.out
6 6 * * 1 find /data/Histest-9.0.70/logs -type f -name "*.txt" -exec rm -f {} \;  每周一6点6分清空此路径下所有txt结尾和log结尾的文件清楚
6 6 * * 4 find /data/mydocker/his9001/tomcat/9001logs -type f \( -name "*.txt" -o -name "*.log" \) -exec rm -f {} \;

grep -E "^(Aug 30 (01:4[0-9]|02:[0-4][0-8]))" /data/logs/inter.log > 1.log  怎样抓取当天 时间1.40 到2.48的日志  并且输出到1.log

1.9.linux网卡配置

vim /etc/sysconfig/network-scripts/ifcfg-ens33     网卡配置

TYPE=Ethernet              ##网卡类型为以太网
NAME=enp0s3                ##指定网络链接的名字为eth0,个人习惯,开心就好
DEVICE=enp0s3              ##指定文件管理的网卡名称
BOOTPROTO=static           ##ip是否动态获取:dhcp动态获取,none和static表示静态网络
ONBOOT=yes                 ##是否开机启动
IPADDR=192.168.1.110       ##设定ip为192.168.1.110
NETMASK=255.255.255.0       ##子网掩码
GATEWAY=192.168.1.1           ##网关地址
DNS1=114.114.114.114       ##DNS地址,如需域名解析需要设置

IPADDR=192.168.1.110    
NETMASK=255.255.255.0       
GATEWAY=192.168.1.1        


vim    /etc/resolv.conf         可以直接在此路径下配置DNS
       nameserver 8.8.8.8

1.10.linux分盘后 刷新监测

  •  刷新检测  for i in {1..18}; do echo "- - -" > /sys/class/scsi_host/host$i/scan; done    

/svs/class/scsi_host    在此目录下  查看 有多少个host

  • find /sys/class/scsi_host -name "host*" -exec sh -c 'echo "- - -" > {}'/scan \;

自动遍历host目录并全部传参刷新存储。

1.11.查看tcp链接数量

netstat -antp | grep TIME_WAIT | wc -l              

 netstat -antp |grep CLOSE_WAIT|wc -l

1.12.设置机器密码永不过期

chage -m 0 -M 99999 -I -1 -E -1 root
    chage -l root  (可以看到输出结果中的 Password expires 字段为 never,表示密码永不过期
    设置免密ssh 某个端口登录另一台机器
    ssh-copy-id -i "-p 8888 root@10.233.67.226"

1.13.netstat  ps 解析

  • netstat  

-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

netstat -ntlp   //查看当前所有tcp端口
netstat -ntulp | grep 80   //查看所有80端口使用情况

  • ps -ef |grep java   查找程序

1.14.linux设置中文语言

 locale -a |grep zh_CN  查看语言包
 localectl set-locale LANG=zh_CN.UTF8  插入语言

1.15.linux查看系统信息

cat /etc/os-release  

more /proc/cpuinfo

1.16.linux修改文件权限所有者

chown  niushijie:niushijie  /myceshi   

1.17.创建linux分组

1.创建安装用户组(dmdba):groupadd dmdba
2.创建用户(dmdba):useradd -g dmdba -m -d /home/dmdba -s /bin/bash dmdba
解析:-m:这个选项告诉useradd命令为新用户创建一个家目录(home directory)
      -d: /home/dmdba:这个选项允许你为新用户的家目录指定一个具体的路径。
      -s:/bin/bash:这个选项用于指定新用户的登录shell。在这个例子中,新用户dmdba的登录shell将被设置为/bin/bash,
         这是最常见的shell之一,提供了丰富的功能和强大的脚本支持。

3.查看所有用户以及组 cat /etc/passwd

4.查看用户信息  id 用户名

1.18.查看服务器的逻辑cpu

cat /proc/cpuinfo 

逻辑cpu,每分钟的负载值为不超过4 是最理想的,也就是每个进程有占用一个逻辑cpu是最合适的。

1.19.top命令详细解释

top显示进程所占用的系统资源,每三秒钟显示一次。

第一行从左到右依次表示当前时间、系统已运行时间、登录用户数(终端登录显示为ttyx,远程登录显示为pts/x)、平均负载(每1分钟、每5分钟、每15分钟)主要是注意第一个负载值,值越大说明服务器压力越大。一般情况下,这个值不要超过服务器的逻辑cpu数量就没有关系。

  • 第二行:
    Tasks :总进程数
    runing:正在运行的进程数
    sleeping:正在处于休眠状态的进程数。
    stopped:已经停止的进程数
    zombie:父进程被意外中止,留下一些子进程无人管理。这就是僵尸进程数。

    第三行是cpu百分比。需要关注的是us。系统负载可以很高,%us
    可能很低或是0%。但是当%us很高的话,那么系统负载肯定很高。

Kib MeM :内存的使用情况。总大小、剩余、已使用、写入磁盘/从磁盘中读取的缓存大小(关注)
Kib Swap :交换分区的使用情况

1.20.sar命令

  • 用sar命令几乎可以监控系统所有的资源状态。它的优点是可以打印历史信息,可以显示当天从零点到当前时刻的系统状态信息。

yum install -y sysstat    //安装sar命令包

  • sar   -n  DEV  查看流量网卡
  • rxpck:接收到的数据包。接收的数据包量太大会导致网络堵塞,网站不能打开。数据包上万了,肯定不正常。
    txpck:发送出去的数据包
    rxkB:接收的数据量。
    txkB:发送的数据量。100M带宽换算成速率也就是12.8M/s。

1.21nloa监视网卡流量

  • 用nload命令更直观的查看网卡流量。需要安装2个包

yum install -y  epel-release

yum install -y nload 

此内容借鉴了日常运维-1_日常运维服务-CSDN博客支持原创

2.linux网络路由

2.1.永久路由

  • vim /etc/sysconfig/network          (在此文件添加路由永远不会消除)


  • 路由解析

1. route add  192.168.1.0/24 via 192.168.1.254
route add:添加一个新的路由条目。
192.168.1.0/24:表示目标网络 192.168.1.0,子网掩码为 255.255.255.0。
via 192.168.1.254:表示数据包通过 192.168.1.254 这个网关。

2.route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

route add:这是用来添加一个新的路由条目的命令。
-net:表示目标是一个网络。如果使用-host,则表示目标是一个单一的主机。
<目标网络>:这是你要路由到的网络地址,例如 192.168.1.0。
netmask <子网掩码>:指定该网络的子网掩码,例如 255.255.255.0。
gw <网关IP地址>:指定路由数据包通过的网关IP地址。

2.2.linux三剑客稍写

grep  -r xinyihua ./data/a.txt    

sed  -i sed -i s/xinyihua/luoyanghuanyingni/g   ./a.txt(i 不区分大小写 ,s 表示替换 ,g 表示全局匹配 把文件中 xinyihua替换为luoyanghuanyingni )

awk:该命令用于处理以字段为单位组织的文本数据。它可以对每个字段执行不同的操作,
 如打印、计算、格式化等。例如,要从文件 file.txt 中提取第二列并计算它们的总和,可以使用以下命令:

2.3.linux环境变量输出

echo $PATH

3.Linux docker学习

docker  
    docker ps        列出所有正在运行的容器,包括 ID、名称、镜像、端口等信息:
    docker-compose down 关闭      docker-compose  up -d   启动
    docker logs -f -n300  3fa092894c1c (此为标识符)     查看日志
    
    docker 日志在mydocker下面有
           
    
    
    docker全新总结                                        
     
                                                       run 进去的容器CTRL+p+q退出容器不会停止
    docker exec -it 4b8221e2d644(标识符) /bin/bash     进入正在运行的容器并以命令进行交互  前面加(exec)后 exit退出容器不会停止
    docker run  -it   +镜像名字                        新建+启动容器
    docker run  -d    redis:6.0.8                         后台守护进程打开
    docker system df                                   查看镜像/容器/数据卷所占用的空间/
    docker images centos                               查看某一个镜像大小信息
    docker pull                                        从 Docker Hub 下载镜像。 示例:下载 nginx 镜像: docker pull nginx
    docker rmi +某个镜像名字的id                       删除某个镜像
    docker  images                                     列出本地镜像列表    
    docker ps        列出所有正在运行的容器,包括 ID、名称、镜像、端口等信息:其中 -a 参数表示列出所有容器,包括已停止的容器
                     -
                     
    docker rm $(docker ps -a -q)                       删除所有处于终止状态的容器
    docker rename his7001 his7002                      修改容器名字
    docker load -i my_image.tar(此为打包后的镜像名字)                        可以使用 docker load 命令将镜像加载到本地 Docker 环境

    启动和关闭容器
    
    docker restart +容器id或者容器名字    
    docker stop    +容器id或者容器名字    
    docker kill    +容器id或者容器名字
    docker start   +容器id或者容器名字
    docker kill    +容器id或者容器名字
    
    docker  top +容器ID                                查看容器内运行的进程
    docker  inspect +容器ID                            查看容器内部细节
****docker cp 4b8221e2d644:/data/a.txt  /tmp/          从容器复制到主机
     docker cp   /tmp/   4b8221e2d644:/data/a.txt      从主机复制到容器
****docker export  61279fc3cc6a > abcd.tar.gz          这个命令使用Docker将容器ID为"61279fc3cc6a"的镜像
                                                        导出为一个名为"abcd.tar.gz"的压缩存档文件
****cat abcd.tar.gz |docker  import -  @guigu/centos:7.6       该命令的作用是将当前目录下名为 abcd.tar.gz 的文件作为 Docker 镜像导入,
                                                        并将其命名为 jingxaing
    docker commit -m"add vim cmd " -a="niushijie" e09985f6053e  niushijie/mycentos:1.1     提交容器副本成为一个新的镜像
                  -m为注释         -a为作者                          容器名字   版本号                
               
=====>>>>>阿里镜象加速器  mkdir -p /etc/docker     vim /etc/docker/deamon.json添加如下内容
    
    {
  "registry-mirrors": ["https://r537py44.mirror.aliyuncs.com"]
}
重启服务器
systemctl  deamoin-reload
systemctl restart docker


docker 数据卷
docker run -it -p 7003:8080 --privileged=true -v /data/mydocker/his7003/tomcat/7001logs:/usr/local/tomcat/logs  -v /data/webapps:/usr/local/tomcat/webapps -v /data/mydocker/his7003/server.xml:/usr/local/tomcat/conf/server.xml -v /data/mydocker/his7003/context.xml:/usr/local/tomcat/conf/context.xml -v /data/mydocker/his7003/jdbc.properties:/usr/local/tomcat/webapps/his/WEB-INF/properties/jdbc.properties -v /data/mydocker/his7003/quartz.properties:/usr/local/webapps/his/WEB-INF/classes/quartz.properties  --name his7003  tomcat
docker run -d -p 7002:8080 --privileged=true -v /data/mydocker/his7002/tomcat/7002logs:/usr/local/tomcat/logs -v /data/webapps:/usr/local/tomcat/webapps -v /data/mydocker/his7002/server.xml:/usr/local/tomcat/conf/server.xml -v /data/mydocker/his7002/context.xml:/usr/local/tomcat/conf/context.xml --name his7002  30ef4019761d
(-v后面需要确认宿主机的路径存在 文件的话需要复制一个源文件进去 否则容器跑不起来  另外程序包里面的数据库地址不对的话程序也起不来)

docker run -d -p 7001:8080 --name his7001 fb5657adc892       docker后台启动修改名字 并且指向端口

docker网络
docker network create my_network(这个是创建的网络名字)        创建一个网络  一般运用docker都是创建一个网络 并且创建不同的有规则的容器名字
                                                              ---指定网络  进入容器内通过服务名称就能ping通
                                                              
例:docker run -d -p 8081:8080 --network zzyy_network --name tomcat81 billygoo/tomcat8-jdk8
docker network rm  my_network                      删除网络

docker-commpose 总结安装
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

4.linux  nginx代理

4.1日常简单代理

########################    常用代理参考        ####################

location /His/hospem  {
                proxy_set_header Host  $http_host;
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_pass http://172.16.0.67:8889;
        }
location /hospem  {
                proxy_set_header Host  $http_host;
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_pass http://172.16.0.67:8889;

}

4.2nginx map指向

  • (如果需要指向几家医院到一个程序 可以创建一个map  两个程序就需要两个map 

如下cs对应的下面访问的节点 服务名字)

map $cookie_organizeId $code2
{
default zs;           在这个Nginx配置中,default zs; 是指令 map 的默认值设置。
0C7A55418CB0E7D499D9D8A65C465F2D cy;
FAB289F946239CF16698AE7A2FC01460 cy;
3D3EFB77ACD1A5B94191EE8A95DDCEEA cy;
A416FEDA4C2B46DB7B3D4EFD2FC63A44 cy;
141FDF1D229F50F614F439792C91759A cy;
F561C949C5F146B1759A1562EA098AC0 cy;
}
                                          cy 代表指向这个节点
upstream pt_server_cy(这个是格式)
    {
    server 172.20.22.13:9002;
           keepalive 32;                                                                                               
    }

5.数据库相关

5.1.mysql相关

MySQL数据库命令
查看密码策略:show VARIABLES like '%password%';
查看用户:select user,host from mysql.user;
查看超时:show variables like'%timeout%';
查看日志:show variables like '%log%';
查看SSL:show variables like'%ssl%';

5.2.oracle相关

Oracle数据库命令

查看关闭远程操作系统认证,show parameter remote_os_authent;
查看密码更换策略,SELECT profile,RESOURCE_NAME,LIMIT FROM DBA_PROFILES where RESOURCE_NAME='PASSWORD_LIFE_TIME';
查看是否启用登录失败锁定策略,SELECT profile,RESOURCE_NAME,LIMIT FROM DBA_PROFILES where RESOURCE_TYPE='PASSWORD';
查看是否启用登录超时退出策略,SELECT profile,RESOURCE_NAME,LIMIT FROM DBA_PROFILES where RESOURCE_NAME='IDLE_TIME';
查看用户,select username,password from dba_users where ACCOUNT_STATUS='OPEN';
查看audit_trail日志,select value from v$parameter where name='audit_trail';
查看audit_sys_operations日志, select value from v$parameter where name='audit_sys_operations';

欢迎各位大佬指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值