初始化提交
This commit is contained in:
83
爬虫项目的相关命令/tk_region.conf
Normal file
83
爬虫项目的相关命令/tk_region.conf
Normal file
@@ -0,0 +1,83 @@
|
||||
# /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 "脚本执行完成"
|
||||
Reference in New Issue
Block a user