Tag: 运维

如何使用 NVM 清理除了保留版本以外的所有 Node.Js 版本

如何删除除一个版本外的所有 NVM Node.js 版本 NVM是Node Version Manager,是NodeJS版本管理器。用NVM可以很容易的在一个服务器上同时管理多个版本的Node/NPM。NVM可以在github上安装: 使用场景 你正在使用 nvm(Node 版本管理器)来管理多个 Node.js 版本 你想清理系统,只保留一个版本:v22.16.0 步骤 1:列出所有已安装的 Node 版本 nvm ls 步骤 2:使用 Bash 脚本卸载除指定版本以外的所有版本 以下BASH脚本将删掉除了KEEP_VERSION以外的所有Node/NPM版本,所以使用前请确认需要保持的版本。 KEEP_VERSION="v22.16.0" for version in …

哪吒 Nezha 服务器监控软件: 一下子把28台服务器都放在一个页面里

这些年我陆续折腾过一些小项目,比如博客、在线工具、STEEM见证人等。目前我手头上管理着28台服务器,大多是一些价格便宜的VPS,最近新添的一台是家里鞋柜里的一块树莓派4B(Raspberry Pi)。 我把每台服务器的信息都记录在一个 Excel 表格中,包括 IP 地址、VPS 提供商、内存、硬盘等。这些信息都是静态配置数据。 平时我也写了不少小工具和 Bash 脚本,挂在 crontab 上定期运行,用来监控一些异常情况,比如磁盘空间不足、高 CPU 负载等。一旦检测到异常,就会通过邮件及时通知我。 比如以下BASH脚本(awk/sed)检测硬盘剩余空间: #!/bin/bash disk=$(df / | tail -1 | awk '{print $5}' | sed 's/%//') …

为什么 Linux Shell 命令前加空格会有影响?

理解 Linux Shell 中前导空格的行为 概述 在像 bash 这样的 Linux shell 环境中,命令前加一个空格可能会影响该命令是否被保存到命令历史中。 这个小技巧在处理敏感数据时非常有用,或者当你不希望某个命令被记录下来时也能派上用场。 关键变量:HISTCONTROL 这种行为是由一个叫做 HISTCONTROL 的 shell 环境变量控制的。 查看当前设置的方法如下: echo $HISTCONTROL 例如,你可能会看到: ignoredups:ignorespace 值的含义解释 选项 描述 ignoredups 防止连续重复的命令被保存到历史中。 ignorespace …

MySQL参数一键配置脚本: 有效提升数据库性能

我一直是自己租用VPS服务器,然后搭建各种服务,比如博客就是Apache2+MySQL数据库。一般来说就是默认参数,没有去管,不过最近发现MySQL的性能参数都很保守,不能发挥整个服务器的性能。 然后我就网上搜索了一下,根据参数配置建议,用ChatGPT写了以下Python和BASH脚本。只需要在需要优化的服务器上,跑一下该脚本,然后就会显示参数配置,然后直接把参数添加到MySQL数据库配置参数文件上: /etc/mysql/mysql.conf.d/mysqld.cnf 然后运行: service mysql restart 重启MySQL服务器。 运行了几周,发现效果很好,博客反应速度也快了很多,这很大原因是根据了内存增加了MySQL缓存大小。 Python脚本优化MySQL数据库参数 把下面的Python脚本存成 mysql_config.py 然后运行 python3 mysql_config.py def get_total_ram(): with open('/proc/meminfo', 'r') as f: for line in f: if line.startswith("MemTotal:"): total_ram_kb …

BASH: 通过dd命令测试硬盘读写速度/性能

要使用 dd 命令测试磁盘速度,可以写入一个临时文件并测量写入和读取速度。以下是一些示例: 测试写入速度 此命令将 1GB 文件写入磁盘,并提供写入速度: dd if=/dev/zero of=testfile bs=1G count=1 oflag=dsync if=/dev/zero 使用空字节源。 of=testfile 指定输出文件。 bs=1G 设置块大小为 1 GB。 count=1 指定只写入一个块。 oflag=dsync 确保数据实际写入磁盘,从而提供更准确的速度测量。 示例输出: 1+0 records in …

判断服务器的硬盘类型: 是否是固态硬盘/NVMe

拿到服务器,想看是否是固态硬盘(SSD/NVMe),可以用以下几种方法,还有另一种方法是使用“dd”命令来测试硬盘的读写速度。 检查磁盘类型:SSD(固态硬盘) 要检查 VPN 服务器上的磁盘是否为 SSD固态硬盘,您可以根据操作系统使用以下方法之一: Linux 在 Linux 上,您可以使用以下命令检查磁盘是否为 SSD: 方法 1:使用 lsblk lsblk -d -o name,rota 示例输出: NAME ROTA loop0 1 loop1 1 loop2 1 loop3 1 …

获得最新Apache服务器访问记录的脚本

apache 服务器将访问请求记录在 /var/log/apache2 中,因此我们可以分析这个日志文件来找出最后的几个请求。 下面解析 apache2 服务器日志,并逐行打印请求。它基于 BASH 命令:tail 和 awk。 #!/bin/bash NUMBER_OF_REQUESTS=50 LOG_FILES_PREFIX=/var/log/apache2/access tail -n $NUMBER_OF_REQUESTS $LOG_FILES_PREFIX* | awk -F'"' ' # 确保 IP 地址、请求和用户代理字段存在 $1 ~ /^+\.+\.+\.+/ …