提交
This commit is contained in:
1 parent
6ca85a1b15
commit
7d4bfaecb3
45 files changed
+7015
-1762
No files matched your search
Executable
+123
@@ -0,0 +1,123 @@
|
||||
#!/bin/bash
|
||||
# 测试crontab配置脚本
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR" || exit 1
|
||||
|
||||
echo "=========================================="
|
||||
echo "超星数据同步定时任务配置测试"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 测试1: 检查文件是否存在
|
||||
echo "测试1: 检查必要文件..."
|
||||
files=("run_script.sh" "crontab_config.txt" "请求系部信息API.py" "请求专业信息API.py" "请求班级信息API.py" "请求学生信息API.py" "请求学籍异动信息API.py")
|
||||
all_exist=true
|
||||
for file in "${files[@]}"; do
|
||||
if [ -f "$SCRIPT_DIR/$file" ]; then
|
||||
echo " ✓ $file"
|
||||
else
|
||||
echo " ✗ $file (缺失)"
|
||||
all_exist=false
|
||||
fi
|
||||
done
|
||||
echo ""
|
||||
|
||||
# 测试2: 检查执行权限
|
||||
echo "测试2: 检查执行权限..."
|
||||
if [ -x "$SCRIPT_DIR/run_script.sh" ]; then
|
||||
echo " ✓ run_script.sh 有执行权限"
|
||||
else
|
||||
echo " ✗ run_script.sh 缺少执行权限"
|
||||
echo " 执行: chmod +x $SCRIPT_DIR/run_script.sh"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试3: 检查日志目录
|
||||
echo "测试3: 检查日志目录..."
|
||||
if [ -d "$SCRIPT_DIR/logs" ]; then
|
||||
echo " ✓ logs/ 目录存在"
|
||||
else
|
||||
echo " ⚠ logs/ 目录不存在,将自动创建"
|
||||
mkdir -p "$SCRIPT_DIR/logs"
|
||||
echo " ✓ logs/ 目录已创建"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试4: 检查Python环境
|
||||
echo "测试4: 检查Python环境..."
|
||||
if command -v python3 &> /dev/null; then
|
||||
PYTHON_VERSION=$(python3 --version)
|
||||
echo " ✓ Python3 已安装: $PYTHON_VERSION"
|
||||
|
||||
# 检查必要的Python包
|
||||
echo " 检查Python依赖包..."
|
||||
packages=("pymysql" "requests" "Crypto")
|
||||
for pkg in "${packages[@]}"; do
|
||||
if python3 -c "import ${pkg//-/_}" 2>/dev/null; then
|
||||
echo " ✓ $pkg"
|
||||
else
|
||||
echo " ✗ $pkg (未安装)"
|
||||
echo " 执行: pip3 install $pkg"
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo " ✗ Python3 未安装或不在PATH中"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试5: 检查crontab配置语法
|
||||
echo "测试5: 检查crontab配置语法..."
|
||||
if [ -f "$SCRIPT_DIR/crontab_config.txt" ]; then
|
||||
# 提取crontab行(排除注释)
|
||||
crontab_lines=$(grep -E "^[0-9*]" "$SCRIPT_DIR/crontab_config.txt" | wc -l)
|
||||
echo " ✓ 找到 $crontab_lines 个crontab任务配置"
|
||||
|
||||
# 检查路径是否正确
|
||||
if grep -q "$SCRIPT_DIR" "$SCRIPT_DIR/crontab_config.txt"; then
|
||||
echo " ✓ 路径配置正确"
|
||||
else
|
||||
echo " ⚠ 路径可能不正确,请检查crontab_config.txt中的路径"
|
||||
fi
|
||||
else
|
||||
echo " ✗ crontab_config.txt 不存在"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试6: 测试脚本启动器(不实际执行Python脚本)
|
||||
echo "测试6: 测试脚本启动器..."
|
||||
if [ -x "$SCRIPT_DIR/run_script.sh" ]; then
|
||||
# 测试脚本是否能正确解析参数(使用不存在的脚本名,应该失败但不报错)
|
||||
if bash "$SCRIPT_DIR/run_script.sh" "测试脚本名" 2>&1 | grep -q "错误\|未指定"; then
|
||||
echo " ✓ 脚本启动器参数检查正常"
|
||||
else
|
||||
echo " ⚠ 脚本启动器测试未完全通过"
|
||||
fi
|
||||
else
|
||||
echo " ✗ 无法测试脚本启动器(缺少执行权限)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试7: 显示当前crontab任务
|
||||
echo "测试7: 当前crontab任务..."
|
||||
if crontab -l 2>/dev/null | grep -q "请求"; then
|
||||
echo " ✓ 已安装超星数据同步任务"
|
||||
echo " 当前任务:"
|
||||
crontab -l | grep "请求" | sed 's/^/ /'
|
||||
else
|
||||
echo " ⚠ 未检测到已安装的定时任务"
|
||||
echo " 执行安装: ./install_crontab.sh"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "测试完成"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "如果所有测试通过,可以执行以下命令安装定时任务:"
|
||||
echo " ./install_crontab.sh"
|
||||
echo ""
|
||||
echo "或者手动安装:"
|
||||
echo " crontab crontab_config.txt"
|
||||
echo ""
|
||||
|
||||
Reference in new issue
Block a user