forked from DevOps/deploy.stack
feat(crontab): 添加硬盘巡检脚本及相关文档
添加disk_inspection.py脚本用于检查硬盘健康状态,包括: - 支持多个megaraid控制器检查 - 生成Markdown格式报告 - 支持通过MCP提交数据 - 添加README和INSTALL文档 - 添加requirements.txt依赖文件
This commit is contained in:
190
crontab/INSTALL.md
Normal file
190
crontab/INSTALL.md
Normal file
@@ -0,0 +1,190 @@
|
||||
# 硬盘巡检脚本 - pip安装指南
|
||||
|
||||
本文档提供了安装硬盘巡检脚本(`disk_inspection.py`)所需依赖包的详细步骤。
|
||||
|
||||
## 系统要求
|
||||
|
||||
- Python 3.6 或更高版本
|
||||
- pip 20.0 或更高版本
|
||||
- 操作系统:Linux(Ubuntu/Debian/CentOS/RHEL等)
|
||||
- root权限(运行脚本时需要)
|
||||
|
||||
## 前置条件
|
||||
|
||||
硬盘巡检脚本需要以下系统工具:
|
||||
|
||||
- `smartctl` - 用于检查硬盘SMART信息
|
||||
|
||||
如果您的系统中尚未安装`smartctl`,请先安装:
|
||||
|
||||
### Ubuntu/Debian
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install smartmontools
|
||||
```
|
||||
|
||||
### CentOS/RHEL
|
||||
```bash
|
||||
sudo yum install smartmontools
|
||||
```
|
||||
|
||||
### Fedora
|
||||
```bash
|
||||
sudo dnf install smartmontools
|
||||
```
|
||||
|
||||
## 检查Python和pip版本
|
||||
|
||||
在开始安装依赖之前,请先检查您的Python和pip版本:
|
||||
|
||||
```bash
|
||||
python --version # 或 python3 --version
|
||||
pip --version # 或 pip3 --version
|
||||
```
|
||||
|
||||
如果您的系统中没有安装Python或pip,请先安装它们。
|
||||
|
||||
## 安装依赖方法
|
||||
|
||||
### 方法1:使用requirements.txt直接安装
|
||||
|
||||
最简单的方法是直接使用我们提供的`requirements.txt`文件安装所有依赖:
|
||||
|
||||
```bash
|
||||
cd /home/geng/mydate/deploy.stack/crontab
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
如果您的系统中有多个Python版本,可能需要使用`pip3`:
|
||||
|
||||
```bash
|
||||
pip3 install -r requirements.txt
|
||||
```
|
||||
|
||||
### 方法2:虚拟环境安装
|
||||
|
||||
为了避免依赖冲突,您也可以在虚拟环境中安装依赖:
|
||||
|
||||
#### 创建虚拟环境
|
||||
|
||||
```bash
|
||||
# 创建虚拟环境
|
||||
python -m venv venv
|
||||
|
||||
# 激活虚拟环境
|
||||
# Linux/MacOS
|
||||
source venv/bin/activate
|
||||
# Windows
|
||||
# venv\Scripts\activate
|
||||
```
|
||||
|
||||
#### 在虚拟环境中安装依赖
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 方法3:手动安装包
|
||||
|
||||
您也可以直接手动安装所需的依赖包:
|
||||
|
||||
```bash
|
||||
pip install requests==2.31.0
|
||||
```
|
||||
|
||||
## 使用国内镜像源加速安装
|
||||
|
||||
如果您在国内访问PyPI比较慢,可以使用国内镜像源加速安装:
|
||||
|
||||
### 使用阿里云镜像源
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
|
||||
```
|
||||
|
||||
### 使用清华大学镜像源
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
|
||||
```
|
||||
|
||||
### 使用华为云镜像源
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/
|
||||
```
|
||||
|
||||
## 验证安装
|
||||
|
||||
安装完成后,您可以使用以下命令验证依赖是否正确安装:
|
||||
|
||||
```bash
|
||||
pip list | grep requests
|
||||
```
|
||||
|
||||
您应该能看到已安装的`requests`包及其版本。
|
||||
|
||||
## 安装常见问题
|
||||
|
||||
### 1. 权限错误
|
||||
|
||||
如果您遇到权限错误,可以尝试使用`--user`选项以用户权限安装:
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt --user
|
||||
```
|
||||
|
||||
或者使用sudo(不推荐):
|
||||
|
||||
```bash
|
||||
sudo pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2. 版本冲突
|
||||
|
||||
如果遇到版本冲突,可以尝试更新pip:
|
||||
|
||||
```bash
|
||||
pip install --upgrade pip
|
||||
```
|
||||
|
||||
然后重新安装依赖。
|
||||
|
||||
### 3. 运行脚本时提示找不到requests模块
|
||||
|
||||
如果在运行`disk_inspection.py`脚本时提示找不到requests模块,可能是因为:
|
||||
|
||||
1. 您使用了不同的Python解释器运行脚本
|
||||
2. 依赖包安装在了不同的环境中
|
||||
|
||||
请确保使用与安装依赖时相同的Python解释器运行脚本,或者尝试使用绝对路径:
|
||||
|
||||
```bash
|
||||
/usr/bin/python3 /home/geng/mydate/deploy.stack/crontab/disk_inspection.py
|
||||
```
|
||||
|
||||
## 升级依赖
|
||||
|
||||
当需要升级依赖到新版本时,可以使用以下命令:
|
||||
|
||||
```bash
|
||||
pip install --upgrade -r requirements.txt
|
||||
```
|
||||
|
||||
## 卸载依赖
|
||||
|
||||
如果需要卸载所有依赖,可以使用以下命令:
|
||||
|
||||
```bash
|
||||
pip uninstall -r requirements.txt -y
|
||||
```
|
||||
|
||||
## 生成新的requirements.txt
|
||||
|
||||
如果您对项目依赖做了修改,可以生成新的requirements.txt文件:
|
||||
|
||||
```bash
|
||||
pip freeze > requirements.txt
|
||||
```
|
||||
|
||||
注意:这将包含环境中所有已安装的包,建议在虚拟环境中执行此操作。
|
||||
Reference in New Issue
Block a user