Shell数组


有这样一个现实问题:一个班级学员信息系统,要求存储学员ID、NAME、SCORE、AGE、GENDER,班级有50个人,思考如何解决交互中数据存储的问题。很多人可能直接说或定义变量接收数据不就行了!nice,你很棒!! 解决方案如下:

1)每个学生通过5个变量,一个班级50个学生,5*50=250,妥妥的!我定义250个变量接收就可以了,美美哒!

兄弟,现在不是全班了是全校的学生需要录入你这个信息系统,你写变量吧!!当我提出这个需求的时候,作为开发你会不会想骂娘呢?

2)使用数组来定义,我只需要定义5个数组来接收所有用户的数据就可以了,5个数组就能解决一切,你觉得你会不会想了解下数组是什...

Read more

Nginx日志切割脚本


Nginx日志切割脚本

Nginx访问日志自动切割脚本:提升日志管理的效率与便捷性

在Web服务器的日常运维中,日志管理是一个至关重要的环节。Nginx作为当前流行的Web服务器软件,每天都会生成大量的访问日志。为了方便日志的查看、归档和分析,我们通常需要对这些日志文件进行切割,即按照一定的时间周期(如每天、每周或每月)创建新的日志文件。

一、脚本内容解析

以下是脚本的完整内容,并附有详细的注释和讲解:

#!/bin/bash  
# 定义Nginx日志目录  
LOG_DIR=/usr/local/nginx/logs    
# 获取上一天的时间,格式为YYYY-MM-DD  
YE...

Read more

nginx安装脚本


脚本安装Nginx

版本一

仅支持CentOS7系统

#!/bin/bash

###################################################################################
# 控制台颜色
BLACK="\033[1;30m"
RED="\033[1;31m"
GREEN="\033[1;32m"
YELLOW="\033[1;33m"
BLUE="\033[1;34m"
PURPLE="\033[1;...

Read more

Redis编译安装脚本


Redis简单安装脚本

需要提前配置要YUM源或APT源,使用root权限执行该脚本;

vim redis_install.sh

内容如下:

#!/bin/bash

# 检查系统类型
if [ -f /etc/os-release ]; then
    . /etc/os-release
    OS_NAME=$NAME
    OS_VERSION=$VERSION_ID
else
    echo "无法识别操作系统"
    exit 1
fi

echo "当前操作系统: $OS_NAME $OS_VERSION"

# 根据...

Read more

Shell脚本经典100例


Shell编程100例,超赞!

1、编写hello world脚本

#!/bin/bash

# 编写hello world脚本

echo "Hello World!"

2、通过位置变量创建 Linux 系统账户及密码

#!/bin/bash

# 通过位置变量创建 Linux 系统账户及密码

#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数
useradd    "$1" 
echo "$2"  |  passwd  ‐‐stdin  "$1"

3、备份日志

#!/bin/bash
...

Read more

MinIO 高性能分布式存储


MinIO 高性能分布式存储

一、概述

MinIO 是一个开源的对象存储服务器,用于存储和管理大规模的非结构化数据,例如图像、视频、日志文件、备份和容器镜像。MinIO 旨在提供高性能、高可用性、可扩展性和易用性的对象存储解决方案,适用于私有云、公共云和混合云环境。

以下是 MinIO 的主要特点和介绍:

  • 开源和自由MinIO 是一个开源项目,根据 Apache License 2.0 许可证发布,这意味着您可以免费使用、修改和分发它。
  • 对象存储MinIO 是一种对象存储系统,它使用存储桶(buckets)来组织数据,每个存储桶包含多个对象。对象可以是各种文件、文档、媒体和其他非结...

Read more

Ceph集群部署


Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群

1.基础配置

1.基于cephadm部署前提条件,官方提的要求Ubuntu 22.04 LTS除了容器运行时其他都满足

  • Python 3
  • Systemd
  • Podman or Docker for running containers
  • Time synchronization (such as Chrony or the legacy ntpd)
  • LVM2 for provisioning storage devices

参考链接: https://docs.ceph.com/en/lates...

Read more

集群化存储概述和相关名词


存储概述和相关名词

集群存储简介

在集群里,一组独立的节点或主机可以像一个系统一样步调一致地工作。它们不仅可以共享公用的存储阵列或者SAN(存储区域网文件系统),也可以拥有只有一个命名空间的公用文件系统。

集群存储是将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池,应用可以通过该访问接口透明地访问和利用所有存储设备上的磁盘,可以充分发挥存储设备的性能和磁盘利用率。数据将会按照一定的规则从多台存储设备上存储和读取,以获得更高的并发访问性能。

存储的类型

  • 块存储;
  • 分布式存储;
  • 网络存储;
  • 文件存储;
  • 块设备;
  • 云存储;
  • 存储桶;
  • 对象存储;
  • DAS;...

Read more

Shell脚本基础案例(二)


1、list_sys_status.sh

显示系统使用的以下信息:

主机名、IP地址、子网掩码、网关、DNS服务器IP地址信息

#!/bin/bash
IP=`ifconfig ens33 | head -2 | tail -1 | awk '{print $2}' | awk -F":" '{print $2}'`
ZW=` ifconfig ens33 | head -2 | tail -1 | awk '{print $3}' | awk -F":" '{print $2}'`
...

Read more

Shell基础案例


Shell基础案例

1.初识Shell脚本:Hello World!

#!/bin/bash
echo "Hello World!"

2.打印当前用户信息:

#!/bin/bash
echo "当前用户:$USER"
echo "主目录:$HOME"
echo "当前工作目录:$PWD"

3.计算两个数的和:

#!/bin/bash
echo "请输入第一个数:"
read num1
echo "请输入第二个数:"
read num2
sum=$((num1 +...

Read more