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

五、常见操作

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;

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2906816.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode_1.两数之和

一、题目描述 二、方法 1.方法1&#xff08;暴力枚举法&#xff09; 利用两个for循环&#xff0c;对数组进行逐一的遍历&#xff0c;直到找到两个数的和为目标值时返回这两个数的下标。以下为c实现的完整代码。 # include<iostream> using namespace std; #include<…

C语言例4-35:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡、问鸡翁、鸡母和鸡雏各几何?

方法一&#xff1a; 代码如下&#xff1a; //鸡翁一&#xff0c;值钱五&#xff1b;鸡母一&#xff0c;值钱三&#xff1b;鸡雏三&#xff0c;值钱一。百钱买百鸡、问鸡翁、鸡母和鸡雏各几何&#xff1f; //方法一&#xff1a; #include<stdio.h> int main(void) {int x…

智慧城市一屏统览,数字孪生综合治理

现代城市作为一个复杂系统&#xff0c;牵一发而动全身&#xff0c;城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。城市工作要树立系统思维&#xff0c;从构成城市诸多要素、结构、功能等方面入手&#xff0c;系统推进…

Paper Digest|基于在线聚类的自监督自蒸馏序列推荐模型

论文标题&#xff1a; Leave No One Behind: Online Self-Supervised Self-Distillation for Sequential Recommendation 作者姓名&#xff1a; 韦绍玮、吴郑伟、李欣、吴沁桐、张志强、周俊、顾立宏、顾进杰 组织单位&#xff1a; 蚂蚁集团 录用会议&#xff1a; WWW 2024 …

CSS之动画

一&#xff0c;动画的制作 实现盒子绕圈走 二&#xff0c; 动画的常用属性 三&#xff0c;动画简写属性 前面两个属性一定要写&#xff0c;第三个linear是指匀速的意思&#xff08;默认是ease&#xff09;

【Java多线程】4——特定场景解决办法

4 特定场景解决方法 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记仓库&#x1f449;https://github.com/A-BigTree/tree-learning-notes 个人主页&#x1f449;https://www.abigtree.top ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个st…

C语言结合体和枚举的魅力展现

前言 ✨✨欢迎&#x1f44d;&#x1f44d;点赞☕️☕️收藏✍✍评论 个人主页&#xff1a;秋邱’博客 所属栏目&#xff1a;人工智能 &#xff08;感谢您的光临&#xff0c;您的光临蓬荜生辉&#xff09; 引言: 前面我们已经讲了结构体的声明&#xff0c;自引用&#xff0c;内存…

排序C++

题目 法1 sort升序排序&#xff0c;再逆序输出 #include<iostream> #include<algorithm> using namespace std;const int N 5e53;//注意const&#xff0c;全局 int a[N]; int main() {//错误int N5e53;//错误const int a[N];int n;cin >> n;for (int i 1;…

【数据结构】新篇章 -- 顺序表

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;python从入门到精通&#xff0c;魔法指针&#xff0c;进阶C&#xff0c;C语言&#xff0c;C语言题集&#xff0c;C语言实现游戏&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文…

【数据结构】顺序表习题之移除元素和合并两个有效数组

&#x1f451;个人主页&#xff1a;啊Q闻 &#x1f387;收录专栏&#xff1a;《数据结构》 &#x1f389;道阻且长&#xff0c;行则将至 前言 嗨呀&#xff0c;今天的博客是关于顺序表的两道题目&#xff0c;是力扣的移除元素和合并有序数组的题目。 一.移除…

EXCEL通过VBA字典快速分类求和

EXCEL通过VBA字典快速分类求和 汇总截图 Option ExplicitOption Explicit Sub answer3() Dim wb As Workbook Dim sht As Worksheet Set wb ThisWorkbook Set sht wb.Worksheets(2) Dim ss1 As Integer Dim ss2 As Integer Dim i As Integer Dim j As Integer j 1Dim aa()…

人工智能:数字化转型中的关键角色

人工智能&#xff1a;数字化转型中的关键角色 数字化转型是十多年来商业变革的核心&#xff0c;它本身也在人工智能的崛起中发生转变。人工智能有望极大地改变数字化转型&#xff0c;从企业设定的目标到从业者用来推进计划的工具。本文将深入探讨人工智能在数字化转型中的扮演的…

Transformers —— 以通俗易懂的方式解释-Part 1

公众号:Halo咯咯,欢迎关注~ 本系列主要介绍了为ChatGPT以及许多其他大型语言模型(LLM)提供支持的Transformer神经网络。我们将从基础的Transformer概念开始介绍,尽量避免使用数学和技术细节,使得更多人能够理解这一强大的技术。 Transformers —— 以通俗易懂的方式解释…

pip永久修改镜像地址

修改命令&#xff1a; pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ 效果&#xff1a; 会在C:\Users\PC(用户名)\AppData\Roaming\pip目录下新增或修改文件pip.ini 文件内容&#xff1a; [global] index-url https://pypi.tuna.tsinghua.e…

关于web_server项目的学习记录(自用)

主要参考资料&#xff1a; 我在地铁吃闸机 基础处理框架&#xff1a;Multi-reactor muduo库有三个核心组件实现持续监听reactor的fd&#xff1a;channel;epoll/poller/eventloop类 channel 事件监听器epoll_ctl监听到了fd发生了什么事件,channel类会封装每个fd和fd感兴趣的事…

9、鸿蒙学习-开发及引用静态共享包(API 9)

HAR&#xff08;Harmony Archive&#xff09;是静态共享包&#xff0c;可以包含代码、C库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP&#xff0c;不能独立安装运行在设备上&#xff0c;只能作为应用模块的依赖项被引用。…

ethers.js:sign(签名)

Signers 在ethers中Signer是以太坊账户的抽象&#xff0c;可以用来签名消息和交易&#xff0c;如将签名的交易发送到以太坊网络以执行状态更改的操作。 npm install ethers5.4.0// 引入 import { ethers } from ethers签名 this.provider new ethers.providers.Web3Provider(…

36.not comply with the UI component syntax不允许在UI描述里直接使用

不允许在UI描述里直接使用&#xff0c;但可以在方法或者函数里使用 not comply with the UI component syntax. <etsLint> 这里ok:

搜索与图论——Floyd算法求最短路

floyd算法用来求多源汇最短路 用邻接矩阵来存所有的边 时间复杂度O(n^3) #include<iostream> #include<cstring> #include<algorithm>using namespace std;const int N 20010,INF 1e9;int n,m,k; int g[N][N];void floyd(){for(int k 1;k < n;k ){f…

Python-基础部署

机器没法直接读懂我们写的代码&#xff0c;需要解释解释器作为中间的翻译&#xff0c;把代码转换成字节码在执行 安装python解释器 Download Python | Python.org 安装代码编辑器 pycharm Thank you for downloading PyCharm! 创建一个项目&#xff0c;每个项目里的文件夹…