Linux(4)常见操作整理-静态路由-双网卡-文件上传下载-运维思路-性能监测方法-jar包查找

本文介绍了Linux系统中常见的问题解决方法,如静态路由配置、双网卡启动问题、服务管理、文件上传、运维流程、性能监测工具(如vmstat、top、lsof)以及MySQL新用户权限设置,为系统管理员提供了实用的参考和指导。
摘要由CSDN通过智能技术生成

五、常见操作

1、静态路由配置

【描述】:当前ifconfig eno16777728 对应ip:172.41.0.120

【解决】:

(1) [root@localhost ~]# cd /etc/sysconfig/network-scripts/

(2) 添加文件:route-eno16777728

​ 172.41.200.0/24 via 172.41.0.253 dev eno16777728

​ 172.41.202.0/24 via 172.41.0.253 dev eno16777728

​ 172.41.203.0/24 via 172.41.0.253 dev eno16777728

​ 172.41.205.0/24 via 172.41.0.253 dev eno16777728

(3)重启网卡

service network restart

或者:systemctl restart network

【测试】:

[root@localhost network-scripts]# ping 172.41.200.236

PING 172.41.200.236 (172.41.200.236) 56(84) bytes of data.

64 bytes from 172.41.200.236: icmp_seq=1 ttl=127 time=0.330 ms

2、双网卡未启动

【描述】:

​ 双网卡在reboot后一个未启动

【解决】:

(1) cd /etc/sysconfig/network-scripts/

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# ls

ifcfg-eno16777728

ifcfg-eno33554952

(2)cat ifcfg-eno16777728

[root@localhost network-scripts]# cat ifcfg-eno16777728

TYPE=Ethernet

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=eno16777728

UUID=3bb5eab6-8300-4499-b882-f4d611e663a1

DEVICE=eno16777728

ONBOOT=no

IPADDR=172.41.0.120

PREFIX=24

GATEWAY=172.41.0.253

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

(3) ONBOOT 修改 为 yes

[root@localhost network-scripts]# cat ifcfg-eno33554952

TYPE=“Ethernet”

BOOTPROTO=none

DEFROUTE=“yes”

IPV4_FAILURE_FATAL=“no”

IPV6INIT=“yes”

IPV6_AUTOCONF=“yes”

IPV6_DEFROUTE=“yes”

IPV6_FAILURE_FATAL=“no”

NAME=“eno33554952”

UUID=“dd995643-1fc6-43d5-91a5-0a8d9e944eb7”

DEVICE=“eno33554952”

ONBOOT=“yes”

IPADDR=192.168.2.53

PREFIX=24

GATEWAY=192.168.2.1

DNS1=61.132.163.68

DNS2=202.102.213.68

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

【总结】:

修改成一致后解决。

3、Faild to start LSB

【描述】:重启网卡起不来报错:Faild to start LSB: Bring up/down networking

在这里插入图片描述

【解决】:

重启网络

​ systemctl restart network.service

或者 service network restart

都报错

在这里插入图片描述

【措施】:

https://www.cnblogs.com/lovebing/p/9805294.html

采用第三种方法解决了。

在这里插入图片描述

辅助查询了宿主机的ipconfigstart LSB3

在这里插入图片描述

4、上传文件到linux服务器

4.1 FileZilla

https://jingyan.baidu.com/article/219f4bf7d28185de442d38d2.html

此连接需要开启linux系统的sshd服务,目前常见的linux系统都默认开启的,如果没有开始,在linux系统下执行 service sshd start 命令即可开启!

配置完成主机ip:192.168.182.128

用户名:root

密码:huanzs1123

端口:22

SFTP协议

左边右击,“上传”即可。

在这里插入图片描述

4.2 Xftp

在这里插入图片描述

4.3 rz sz

rzsz 是 Linux 系统中用于文件上传和下载的命令,它们属于 rzsz 工具,这个工具是基于 rloginszlocal 命令的,通常用于串行通信中。rz 是 receive 的缩写,用于接收文件;sz 是 send 的缩写,用于发送文件。

安装 rzsz

首先,确保你的系统上已经安装了 rzsz 工具。如果没有安装,可以使用以下命令安装:

对于 Debian/Ubuntu 系统:

sudo apt-get update
sudo apt-get install rzsz

对于 Red Hat/CentOS/Fedora 系统:

sudo yum install lrzsz

对于 openSUSE 系统:

sudo zypper install lrzsz

使用 rz 上传文件

  1. 打开一个终端窗口。
  2. 进入你希望上传文件的目标目录。
  3. 输入 rz 命令并按回车键。这会打开一个文件选择对话框,让你选择要上传的文件。
  4. 在文件选择对话框中,选中你想要上传的文件,然后点击“打开”或按回车键确认。
  5. 文件开始上传。上传完成后,你会看到一个提示,表明文件上传成功。

使用 sz 下载文件

  1. 打开一个终端窗口。

  2. 进入你希望下载文件的目录。

  3. 输入sz命令,然后输入文件的完整路径。例如,如果你想要下载/path/to/file,你应该输入:

    sz /path/to/file
    
  4. 按回车键。文件开始下载到当前目录。

注意事项

  • 使用 rzsz 时,确保另一台计算机也支持 rzsz 或者已经设置了相应的串行通信连接。
  • 如果你在上传或下载文件时遇到权限问题,可能需要使用 sudo 来获取必要的权限。
  • rzsz 工具的界面和操作可能会有所不同,具体取决于你的系统和 rzsz 的版本。

5、运维流程思路

Linux 运维通常涉及监控、维护和优化系统。以下是一个基本的运维流程,它可以帮助您系统地解决问题和保持系统的稳定运行。

1. 系统监控
  • 查看系统资源使用情况:使用 top, htop, vmstat 等命令监控 CPU、内存、磁盘 I/O 和网络使用情况。
  • 检查系统日志:查看 /var/log/ 目录下的日志文件,如 /var/log/syslog, /var/log/message,以及各个服务的日志。

例如:查询所有端口服务

[root@eifire ~]# netstat -ntpl

[root@eifire ~]# netstat -nupl

或者 #netstat -at -au

在这里插入图片描述

  • 当前tcp端口服务:22、443、637、7500、8380,但是服务运行的有:22、443、8380、7500
  • 当前udp端口服务:68 ,telnet 测试不通
  • 在 Linux 中,已经推荐使用 ss 来替代 netstat ,使用 ip route 来替代 netstat -r ,使用 ip -s link 来替代 netstat -i ,使用 ip addr 来替代 netstat -g 了。
2. 服务管理
  • 查看所有运行中的服务:使用 systemctl 命令查看所有单元文件的状态(systemctl list-unit-files)和所有运行中的服务(systemctl list-units --type=service --state=running)。
  • 检查服务状态:使用 systemctl status <service_name> 查看特定服务的状态。
  • 启动、停止、重启服务:使用 systemctl start <service_name>, systemctl stop <service_name>, systemctl restart <service_name>
3. 网络配置
  • 检查网络连接:使用 ping, traceroute, netstat 等命令检查网络连接和路由。
  • 查看防火墙设置:使用 ufwiptables 查看和管理防火墙规则。
4. 存储和备份
  • 检查磁盘空间:使用 df 命令检查磁盘使用情况,使用 du 查看目录占用空间。
  • 监控磁盘 I/O:使用 iostatiotop 监控磁盘 I/O 性能。
  • 执行备份任务:定期执行文件系统备份,可以使用 tar, rsync 或专用备份工具。
5. 安全审计
  • 更新系统和软件:使用 yum updateapt-get update 更新系统和软件包。
  • 安装安全补丁:及时安装安全补丁以修复已知漏洞。
  • 审计系统日志:检查 /var/log/audit/ 目录下的审计日志,了解系统的异常行为。
6. 系统更新和升级
  • 计划更新和升级:根据服务器的重要性和更新策略,计划系统更新和软件升级。
  • 备份重要数据:在更新前备份重要数据,以防更新过程中出现意外。
  • 逐步更新:可以先在测试环境中验证更新,确保没有问题后再在生产环境中执行。
7. 性能优化
  • 优化配置文件:根据服务器的工作负载和性能瓶颈,优化系统配置文件。
  • 调整资源分配:使用 cgroups 调整 CPU、内存和磁盘 I/O 的资源分配。
  • 使用负载均衡:如果服务器负载过高,考虑使用负载均衡技术分散压力。
8. 故障处理
  • 快速响应:当系统出现故障时,迅速响应并定位问题。
  • 故障分析:分析故障原因,可能是硬件故障、软件冲突、配置错误等。
  • 实施解决方案:根据故障原因实施解决方案,如更换硬件、调整配置、重新部署服务。
9. 文档和自动化
  • 记录操作手册:编写和维护操作手册,记录系统的配置和运维步骤。
  • 实现自动化:使用脚本或自动化工具(如 Ansible, Puppet, Chef)减少重复性工作。
10. 持续监控和维护
  • 设置持续监控:使用工具如 Nagios, Prometheus + Grafana 等进行持续的系统监控。
  • 定期维护:定期进行系统维护,如清理日志、优化数据库、检查硬件状态。
    这个流程是一个大致的框架,具体的步骤可能会根据您的系统环境、使用场景和业务需求进行调整。

6、性能监测

6.1 vmstat

vmstat是查看虚拟内存(virtual memory)的工具,可以得到相关进程、内存、阻塞IO、CPU等活动信息。

语法格式:

[root@dbserver ~]# vmstat 2 100

参数说明:

vmstat 2 100:表示每两秒采集一次服务器状态,采集100次。

参数说明:
Procs(进程)
r: 运行队列中进程数量
b: 等待IO的进程数量

Memory(内存)
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小

Swap
si: 每秒从交换区写到内存的大小
so: 每秒写入交换区的内存大小

IO
bi: 每秒读取的块数
bo: 每秒写入的块数

system
in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。

CPU(以百分比表示)
us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间)
wa: 等待IO时间

示例:

在这里插入图片描述
在这里插入图片描述

6.2 top
  • top 命令是性能监控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系统管理员经常使用的监控系统性能的工具。
  • Top 命令可以定期显示所有正在运行和实际运行并且更新到列表中,它显示出 CPU 的使用、内存的使用、交换内存、缓存大小、缓冲区大小、过程控制、用户和更多命令。
  • 它也会显示内存和 CPU 使用率过高的正在运行的进程。
  • 当我们对 Linux 系统需要去监控和采取正确的行动时,top 命令对于系统管理员是非常有用的。让我们看下 top 命令的实际操作。

语法:

[root@dbserver ~]# top

示例:

在这里插入图片描述

6.3 lsof
  • lsof 命令对于很多 Linux/Unix 系统都可以使用,主要以列表的形式显示打开的文件和进程。
  • 打开的文件主要包括磁盘文件、网络套接字、管道、设备和进程。
  • 使用这个命令的主要原因是一个一个盘不能卸载并且显示文件正在使用或者打开的错误信息。
  • 这个命令很容易看出哪些文件正在使用。

这个命令最常用的格式:

[root@dbserver ~]# lsof

示例:

在这里插入图片描述

7、如何查看jar进程的程序路径和相关信息

要查看正在运行的 JAR 进程的程序路径和其他相关信息,您可以使用几个不同的 Unix/Linux 命令。

  1. 使用 ps 命令
    您可以使用 ps 命令查看当前运行的进程,并使用相关的选项来获取 JAR 进程的详细信息。例如:

    ps -ef | grep java | grep -v grep | awk '{print $8}' | cut -d '=' -f2
    

    这个命令会列出所有包含 “java” 的进程,排除掉 grep 自己的进程,然后使用 awkcut 提取 JAR 文件的路径。

  2. 使用 jps 命令
    jps 是 Java Process Status 工具,它可以列出当前运行的 Java 进程。运行以下命令:

    jps -l
    

    这将列出所有正在运行的 Java 进程,包括它们的完整的类路径。

  3. 使用 tophtop
    这些命令提供了一个实时的系统进程视图。在终端中简单地输入 tophtop 并按 M 键可以按内存使用排序,从而找到 Java 进程。

  4. 使用 strace 命令
    如果您需要更详细的进程信息,可以使用 strace 命令来跟踪进程的系统调用。例如:

    strace -f -o output.txt -p <process-id>
    

    <process-id> 替换为您想要跟踪的 Java 进程的 PID。这将详细记录该进程的所有系统调用。

  5. 使用 lsof 命令
    lsof 可以用来查看打开文件和与之关联的进程。如果您的 JAR 进程打开了一些文件,您可以使用:

    lsof -p <process-id>
    

    同样,将 <process-id> 替换为 Java 进程的 PID。
    请注意,以上命令假设您的 JAR 进程是以 java -jar your-application.jar 命令启动的。如果您使用的是其他命令或参数启动 JAR 文件,您可能需要调整上述命令以适应您的具体情况。

  6. 实际举例
    假设您已经启动了一个名为 myapp.jar 的 Java 应用程序,并且您想要查看运行该 JAR 文件的进程信息。
    步骤 1: 查找运行 JAR 文件的进程
    您可以使用 ps 命令来查找包含 myapp.jar 的进程。由于 myapp.jar 可能在进程名称中,而不一定是完整的路径,您可以使用 grep 命令来过滤输出。

ps -ef | grep myapp.jar

这将列出所有运行中包含 myapp.jar 的进程。如果 myapp.jar 没有在进程名称中,您可能需要检查 ps 输出的全貌来找到实际的 Java 进程。
步骤 2: 获取 JAR 进程的详细信息
一旦您找到了运行 JAR 文件的进程,您想要获取更多详细信息,比如进程 ID (PID)、父进程 ID (PPID)、运行状态等。

ps -fp <PID>

<PID> 替换为您找到的 JAR 进程的 PID。
步骤 3: 检查 JAR 文件的路径
如果 myapp.jar 没有在进程名称中出现,您可能需要查看 ps 输出的全貌来找到实际的 Java 进程。您可以通过查看进程的命令行参数来找到 JAR 文件的路径。

ps -fp <PID> | grep -oP '(\s*[^ ]+/)?myapp.jar'

这里我们使用了 grep -oP 来只输出匹配的部分,并且使用了正则表达式来处理可能存在的路径前缀。
步骤 4: 使用 jps 命令
jps 命令可以提供更精确的信息,因为它专门用于查找 Java 进程。

jps -l

这将列出所有正在运行的 Java 进程,包括它们的完整的类路径。如果 myapp.jar 是您正在查找的进程,这将显示完整的类路径。
步骤 5: 使用 strace 命令
如果您想要跟踪进程的系统调用,可以使用 strace

strace -fp <PID>

这将跟踪指定进程的所有系统调用。
步骤 6: 使用 lsof 命令
lsof 可以用来查看打开文件和与之关联的进程。如果您的 JAR 进程打开了一些文件,您可以使用:

lsof -p <PID>

这将显示与指定进程 ID 关联的所有文件。
请注意,<PID> 需要替换为您找到的实际进程 ID。在执行这些命令时,您可能需要具有相应的权限,特别是对于 psjpsstrace 命令,通常需要 root 权限或者针对特定用户配置了相应的权限。

8、mysql新建账户

mysql默认只有root账号,为了安全起见,使用远程管理工具时最好使用其他账号登录,所以需要创建新的账号并授予远程登录权限

8.1 授权全部权限账户

1、登录mysql,执行登录命令,输入密码进行登录。

mysql -u root -p

2、指向操作的mysql数据库,用户信息都在mysql中管理。

mysql> use mysql;

3、创建用户“test001”,并指定密码"123456"。

mysql> create user 'test001' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

4、授予用户“test001”远程登录权限,需要指定设置的密码。

mysql> grant all privileges on *.* to 'test001'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)

5、刷新mysql用户权限

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

6、此时已经可以使用创建好的用户“test001”进行远程登录了。

8.2 授权只读账户

在这里插入图片描述
这个不能访问数据库。

mysql> grant select  on *.* to 'test002'@'%' identified by 'test002@2022jtj' with grant option;

改成这个也可以访问数据库。

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JasonHuan1123

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值