前端打war包
jar -cvf dist.war *
创建 WAR 文件的命令 jar -cvf dist.war * 用于将当前目录下的所有文件和文件夹打包成一个名为 dist.war 的 WAR 文件。以下是该命令的详细解释:
jar: Java Archive 工具,用于创建 JAR、WAR 或 EAR 文件。
-c: 创建新的归档文件。
-v: 在标准输出中生成详细输出。
-f dist.war: 指定生成的归档文件名为 dist.war。
*: 匹配当前目录下的所有文件和文件夹。
注意事项
当前目录: 命令会在当前目录下创建 dist.war 文件,并将当前目录下的所有文件和文件夹打包进去。
排除文件: 如果需要排除某些文件或文件夹,可以使用 -C 选项或在 * 后面指定具体的文件和文件夹。
路径问题: 确保当前目录下没有隐藏文件或特殊文件,这些文件可能会导致打包失败或产生意外的结果。
查询磁盘是固态还是机械
lsblk -d -o NAME,ROTA
命令解释
lsblk: 列出块设备信息。
-d: 只显示设备信息,不显示分区信息。
-o NAME,ROTA: 指定输出列,其中:
NAME: 设备名称。
ROTA: 设备是否为旋转设备(1 表示是旋转设备,0 表示是非旋转设备,如 SSD)。
示例
假设系统中有以下块设备:
/dev/sda (HDD)
/dev/nvme0n1 (SSD)
执行 lsblk -d -o NAME,ROTA 命令后,输出可能如下
NAME ROTA
sda 1
nvme0n1 0
HDD(Hard Disk Drive,硬盘驱动器)和 SSD(Solid State Drive,固态硬盘)是两种常见的存储设备,它们在工作原理、性能、成本和可靠性等方面有显著的区别。以下是 HDD 和 SSD 的主要区别:
- 工作原理
HDD:
使用旋转磁盘和移动读写头进行数据的读取和写入。
数据存储在磁盘上的不同位置,读写头需要物理移动到相应的位置。
SSD:
使用闪存芯片(NAND Flash)存储数据。
没有机械部件,数据读写通过电子信号完成。 - 性能
读写速度:
HDD: 通常读写速度较慢,典型的顺序读写速度在 100 MB/s 到 200 MB/s 之间。
SSD: 读写速度非常快,典型的顺序读写速度可达 500 MB/s 到 3500 MB/s 以上。
随机访问速度:
HDD: 随机访问速度较慢,因为需要读写头移动到不同的位置。
SSD: 随机访问速度非常快,因为没有机械延迟。
延迟:
HDD: 延迟较高,通常在几毫秒级别。
SSD: 延迟非常低,通常在微秒级别。 - 耐用性和可靠性
耐用性:
HDD: 由于有机械部件,容易受到物理冲击和振动的影响,可能导致数据丢失或损坏。
SSD: 没有机械部件,更耐受物理冲击和振动。
寿命:
HDD: 寿命取决于机械部件的磨损程度,通常在几年左右。
SSD: 寿命取决于闪存芯片的擦写次数(P/E 周期),现代 SSD 通常可以支持数万次擦写。 - 成本
价格:
HDD: 单位容量的价格较低,适合大容量存储需求。
SSD: 单位容量的价格较高,但性能优越,适合对性能要求高的应用。 - 功耗
功耗:
HDD: 功耗较高,因为需要旋转磁盘和移动读写头。
SSD: 功耗较低,因为没有机械部件。 - 体积和重量
体积和重量:
HDD: 体积较大,重量较重。
SSD: 体积较小,重量较轻,更适合便携设备。 - 噪音
噪音:
HDD: 由于有机械部件,运行时会产生一定的噪音。
SSD: 运行时几乎无声,因为没有机械部件。 - 温度
温度:
HDD: 运行时会产生较多热量。
SSD: 运行时产生的热量较少。
总结
HDD 适用于需要大容量存储且对性能要求不高的场景,如备份存储、视频存储等。
SSD 适用于需要高性能、快速响应和高可靠性的场景,如操作系统盘、数据库存储、游戏存储等。
检测io
iostat -xdmt 5 2
iostat 是一个用于监控系统输入/输出设备负载的工具,常用于分析磁盘性能。你提供的命令 iostat -xdmt 5 2 用于以详细的格式每 5 秒输出一次磁盘 I/O 统计信息,总共输出 2 次。下面是对这个命令的详细解释:
命令解释
iostat: 显示 CPU 和磁盘 I/O 统计信息。
-x: 以扩展模式显示详细的统计信息。
-d: 仅显示设备(磁盘)统计信息,不显示 CPU 统计信息。
-m: 以兆字节(MB)为单位显示传输速率。
-t: 在输出中添加时间戳。
5: 每 5 秒输出一次统计信息。
2: 总共输出 2 次统计信息。
输出字段解释
在扩展模式下,iostat 会输出多个字段,每个字段的含义如下:
Device: 设备名称。
tps: 每秒传输次数(I/O 操作数)。
kB_read/s: 每秒读取的数据量(以 KB 为单位)。
kB_wrtn/s: 每秒写入的数据量(以 KB 为单位)。
kB_read: 自系统启动以来读取的总数据量(以 KB 为单位)。
kB_wrtn: 自系统启动以来写入的总数据量(以 KB 为单位)。
rrqm/s: 每秒合并的读请求。
wrqm/s: 每秒合并的写请求。
r/s: 每秒完成的读 I/O 请求。
w/s: 每秒完成的写 I/O 请求。
rsec/s: 每秒读取的扇区数。
wsec/s: 每秒写入的扇区数。
avgrq-sz: 平均每次 I/O 操作的扇区数。
avgqu-sz: 平均 I/O 队列长度。
await: 平均每次 I/O 操作的等待时间(毫秒)。
r_await: 平均每次读 I/O 操作的等待时间(毫秒)。
w_await: 平均每次写 I/O 操作的等待时间(毫秒)。
svctm: 平均每次 I/O 操作的服务时间(毫秒)。
%util: 设备利用率,即设备忙于处理 I/O 请求的时间百分比。
示例输出
假设系统中有两个磁盘设备 /dev/sda 和 /dev/sdb,执行 iostat -xdmt 5 2 命令后,输出可能如下:
Linux 5.4.0-42-generic (hostname) 2023年10月10日 _x86_64_ (4 CPU)
10:00:00 AM Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util
10:00:00 AM sda 0.00 0.00 0.00 0 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:00:00 AM sdb 0.00 0.00 0.00 0 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:00:05 AM Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util
10:00:05 AM sda 1.00 8.00 0.00 40 0 0.00 0.00 1.00 0.00 8.00 0.00 8.00 0.01 8.00 8.00 0.00 8.00 0.80
10:00:05 AM sdb 0.00 0.00 0.00 0 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
解释
第一次输出(10:00:00 AM)显示了系统启动以来的累计统计信息。
第二次输出(10:00:05 AM)显示了从上一次输出到这次输出之间的统计信息。
磁盘io 写文件
#!/bin/bash
iostat -xdmt 30 10 >/root/script/log/iostat.log
查看当前目录属于哪一个盘
df $(pwd) | grep -E '^(/)'
sqlserver指令登录
sqlcmd -S 127.0.0.1 -U sa -P password
参数解释
-S 127.0.0.1: 指定 SQL Server 实例的地址,这里是本地主机。
-U sa: 指定登录用户名,这里是 sa(系统管理员)。
-P password: 指定登录密码。注意 -P 是大写,后面跟的是密码字符串。
示例
假设 sa 用户的密码是 MyStrongPassword!,那么完整的命令应该是
sqlcmd -S 127.0.0.1 -U sa -P MyStrongPassword!
创建多级目录
mkdir -p dir1/dir2/dir3
赋权多级目录
chown -R dmdba:dmdba dmdba/
重启sshd服务
service sshd restart
查看sshd状态
service sshd status
redis重启
redis-server /etc/redis/6379.conf --daemonize yes
redis-server 是 Redis 的服务器进程,用于启动 Redis 服务。你提供的命令 redis-server /etc/redis/6379.conf --daemonize yes 用于启动 Redis 服务,并指定配置文件和以守护进程模式运行。下面是对这个命令的详细解释:
命令解释
redis-server: 启动 Redis 服务器。
/etc/redis/6379.conf: 指定 Redis 配置文件的路径。
–daemonize yes: 以守护进程模式(后台运行)启动 Redis 服务器。
详细说明
指定配置文件:
/etc/redis/6379.conf: 这个文件包含了 Redis 服务器的各种配置选项,如端口号、数据持久化方式、内存限制等。
你可以根据需要编辑这个配置文件来调整 Redis 的行为。
守护进程模式:
–daemonize yes: 这个参数告诉 Redis 服务器在后台以守护进程模式运行,而不是在前台运行。
如果你希望 Redis 在前台运行,可以省略 --daemonize yes 参数。
列出系统中所有块设备的分区表信息
fdisk -l
fdisk -l 是一个常用的命令,用于列出系统中所有块设备的分区表信息。这个命令可以帮助你查看硬盘、分区的详细信息,包括设备名称、大小、分区类型等。下面是对这个命令的详细解释和示例输出:
命令解释
fdisk: 一个用于分区管理的工具。
-l: 列出所有块设备的分区表信息。
示例输出
假设系统中有两个硬盘设备 /dev/sda 和 /dev/sdb,执行 fdisk -l 命令后,输出可能如下:
Disk /dev/sda: 500 GB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 12345678-1234-1234-1234-1234567890AB
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 20971519 19920896 9.5G Linux filesystem
/dev/sda3 20971520 976773119 955801599 455.8G Linux filesystem
Disk /dev/sdb: 1 TB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x12345678
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 1953525167 1953523120 931G 83 Linux
查询sqlserver
rpm -qa | grep mssql
rpm -qa | grep mssql 是一个组合命令,用于列出系统中所有已安装的 RPM 包,并过滤出包含 mssql 字样的包。这个命令可以帮助你查找与 Microsoft SQL Server 相关的已安装包。下面是对这个命令的详细解释和示例输出:
命令解释
rpm -qa: 列出系统中所有已安装的 RPM 包。
-q: 查询包。
-a: 列出所有已安装的包。
grep mssql: 过滤出包含 mssql 字样的行。
确认安装: 检查系统中是否已经安装了特定的 Microsoft SQL Server 相关包。
版本管理: 查看已安装包的具体版本,以便进行版本管理和更新。
故障排除: 在遇到问题时,确认系统中安装了哪些相关的包,以便进行故障排除。
docker查询influxdb
docker ps
docker exec -it 4c0b8101abfb /bin/bash
influx v1 shell
use "db";
保障系统正常运行需要监控的指标
要确保系统正常运行,以下是一些关键的 Linux 监控指标,您可以定期监控这些指标以及相应的阈值来保障系统的稳定性:
CPU 使用率:监控 CPU 利用率,确保 CPU 不会过度使用,一般建议不超过 70-80%。
内存使用:检查系统内存使用情况,确保没有内存泄漏或过度使用。特别关注交换空间的使用情况。
磁盘空间:监控磁盘空间使用情况,避免出现磁盘空间耗尽的情况。
网络流量:监控网络接口的输入输出流量,确保网络连接正常且没有异常流量。
负载平均值:监控系统的负载情况,当负载过高时可能会影响系统性能。
进程监控:监视重要进程的状态,确保关键服务在运行,并警告或自动重启出现故障的进程。
日志文件:定期检查系统日志文件中是否有异常信息或错误,及时发现并解决潜在问题。
IO 情况:监控磁盘读写速度,确保磁盘 I/O 操作正常,避免磁盘性能瓶颈。
温度和硬件健康状况:监控硬件传感器,包括 CPU 温度、风扇转速等,确保硬件健康状态良好。
安全监控:定期审计系统安全日志,检查登录尝试、异常访问等安全问题。
以上指标是确保 Linux 系统正常运行所需监控的关键指标,定期监控并设定适当的阈值将帮助您及时发现并解决潜在问题,确保系统长时间稳定运行。
要实现实时监控 Linux 系统的性能指标,您可以考虑以下方法和工具:
使用监控工具:使用专门的监控工具可以帮助您实现实时监控。一些常用的监控工具包括:
Prometheus:开源的监控系统,支持多维度数据模型和强大的查询语言。
Grafana:可视化监控工具,与多种数据源集成,支持创建各种图表和仪表板。
Telegraf:数据采集代理,支持从各种来源收集数据并发送到监控系统。
设置警报:通过监控工具设置警报规则,当系统性能达到设定的阈值时触发警报通知。
实时日志监控:使用工具如 tail -f 或 journalctl -f 实时监控系统日志,以便快速发现错误或异常情况。
系统事件监控:使用工具如 inotify-tools 监控文件系统事件,以实时了解文件变动情况。
利用 SSH 远程监控:通过 SSH 连接远程服务器,并使用命令行工具实时监控系统性能,如 htop、top、iftop 等。
结合脚本和定时任务:编写脚本来定时获取系统性能数据,并将数据存储在本地文件中,以实现近实时的监控。
安装监控代理:在需要监控的主机上安装监控代理,将数据发送到中央监控服务器,实现实时监控和集中管理。
实时监控可以帮助您及时发现系统性能问题并采取相应措施。根据需求选择合适的监控工具和方法,确保您可以随时了解系统的运行状况。
配置ssh免密
ssh-keygen -t rsa
ssh-keygen -t rsa 是一个用于生成 RSA 类型的 SSH 密钥对的命令。SSH 密钥对包括一个公钥和一个私钥,用于实现无密码的 SSH 登录。下面是对这个命令的详细解释和示例输出:
命令解释
ssh-keygen: 用于生成、管理和转换认证密钥对的工具。
-t rsa: 指定生成的密钥类型为 RSA。其他常见的密钥类型还包括 DSA (-t dsa)、ECDSA (-t ecdsa) 和 Ed25519 (-t ed25519)。
命令执行步骤
生成密钥对:
ssh-keygen -t rsa
提示信息:
保存位置: 默认情况下,密钥对将保存在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub 文件中。你可以选择默认位置或指定其他位置。
输入密码: 你可以为私钥设置一个密码(passphrase),增加安全性。如果你不想设置密码,可以直接按回车键跳过。
示例输出
假设你在终端中执行 ssh-keygen -t rsa,输出可能如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
保存位置:
按回车键接受默认位置,或者输入自定义路径并按回车键
Enter passphrase (empty for no passphrase):
输入密码:
输入密码(如果需要),或者直接按回车键跳过。
Enter same passphrase again:
再次输入密码:
再次输入相同的密码(如果需要),或者直接按回车键跳过。
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx user@hostname
The key's randomart image is:
+---[RSA 3072]----+
| |
| |
| |
| |
| . . S . |
| o + + + |
| . + B + |
| . = O |
| E . |
+----[SHA256]-----+
生成的文件
私钥文件: ~/.ssh/id_rsa,包含私钥信息,需要保密。
公钥文件: ~/.ssh/id_rsa.pub,包含公钥信息,可以共享给需要无密码登录的远程服务器。
使用公钥进行无密码登录
复制公钥到远程服务器:
ssh-copy-id user@remote_host
手动复制公钥:
将公钥内容复制到远程服务器的 ~/.ssh/authorized_keys 文件中:
cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
注意事项
安全性: 私钥文件应妥善保管,不要泄露给他人。
权限: 确保 ~/.ssh 目录和 ~/.ssh/authorized_keys 文件的权限设置正确:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
查看端口被哪个服务或者进程占用
netstat -anop | grep 57298
查看进程使用了哪个端口
netstat -plunt | grep 53
东方通密码忘记
重置TongWeb密码,利用 <TongWeb_home>/domain_template/conf/security 中的文件模版去覆盖TongWeb根下的<TongWeb_home>/conf/security目录,或是域下的conf/security目录对应文件即可, 重启TongWeb恢复原始密码。
查询docker映射后的目录
docker inspect 9c9342be4ea7
查询服务器版本
cat /etc/*release*
查询linux cpu、mem占用量
ps aux --sort=-%cpu | head -n 10
ps aux --sort=-%mem | head -n 10