Files
Work-configuration-file/爬虫项目的相关命令/tk_region.conf

84 lines
1.9 KiB
Plaintext
Raw Normal View History

2025-10-07 15:58:15 +08:00
# /data/sh/start_tk_regio.sh
# crontab -e
# 0 9 * * * /data/sh/start_tk_regio.sh
#!/bin/bash
# 定义变量
APP_DIR="/data/webapps/test_tk_region"
LOG_FILE="$APP_DIR/sh.log"
PYTHON_SCRIPT="tk_region.py"
MAX_ATTEMPTS=10
WAIT_TIME=600 # 10分钟单位为秒
# 记录日志函数
log() {
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
}
# 切换到应用目录
log "==========="
log "切换到应用目录: $APP_DIR"
cd "$APP_DIR" || {
log "无法切换到应用目录 $APP_DIR脚本退出"
exit 1
}
# 检查是否有旧进程在运行
attempt=1
while [ $attempt -le $MAX_ATTEMPTS ]; do
# 查找正在运行的Python脚本进程
log "第 $attempt 次检查是否有旧进程在运行..."
pid=$(ps aux | grep "$PYTHON_SCRIPT" | grep -v grep | awk '{print $2}')
if [ -z "$pid" ]; then
log "未发现运行中的 $PYTHON_SCRIPT 进程,准备启动新进程"
break
else
log "发现运行中的进程PID: $pid"
if [ $attempt -eq $MAX_ATTEMPTS ]; then
log "已达到最大等待次数 ($MAX_ATTEMPTS),仍有进程在运行,放弃启动"
exit 1
fi
log "等待 $((WAIT_TIME/60)) 分钟后再次检查..."
sleep $WAIT_TIME
attempt=$((attempt + 1))
fi
done
# 激活路径
log "激活conda路径"
source ~/.bashrc || {
log "激活conda激活路径失败"
exit 1
}
# 激活环境
log "激活conda环境 py310"
conda activate py310 || {
log "激活conda环境失败"
exit 1
}
log "激活虚拟环境"
source venv/bin/activate || {
log "激活虚拟环境失败"
exit 1
}
# 安装依赖
log "安装依赖包"
pip install -r requirements.txt || {
log "安装依赖包失败"
exit 1
}
# 启动Python脚本
log "启动 $PYTHON_SCRIPT 脚本"
nohup python "$PYTHON_SCRIPT" > output.log 2>&1 &
pid=$!
log "$PYTHON_SCRIPT 已启动PID: $pid"
log "脚本执行完成"