初始化提交
This commit is contained in:
73
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/monitor_update_yt_day.sh
Normal file
73
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/monitor_update_yt_day.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 配置区域
|
||||
PROJECT_DIR="/data/webapps/yt_data_update"
|
||||
SCRIPT_NAME="update_yt.py"
|
||||
START_SCRIPT="$PROJECT_DIR/run_update_yt_day.sh"
|
||||
LOG_DIR="$PROJECT_DIR/logs"
|
||||
TODAY=$(date +%F)
|
||||
LOG_FILE="$LOG_DIR/monitor/monitor_day_$TODAY.log"
|
||||
MAX_RETRY=3
|
||||
SLEEP_BETWEEN_CHECK=10
|
||||
|
||||
# 保证日志目录存在
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
# 计数器文件
|
||||
COUNT_FILE="$LOG_DIR/monitor/monitor_day_count_$TODAY.txt"
|
||||
[ ! -f "$COUNT_FILE" ] && echo 0 > "$COUNT_FILE"
|
||||
COUNT=$(cat "$COUNT_FILE")
|
||||
COUNT=$((COUNT + 1))
|
||||
echo $COUNT > "$COUNT_FILE"
|
||||
|
||||
log() {
|
||||
echo "$(date '+%F %T') [第 $COUNT 次执行检查] $1" >> "$LOG_FILE"
|
||||
}
|
||||
|
||||
# 检查是否运行: 匹配到进程:返回状态码 0;匹配不到进程:返回退出状态码:1
|
||||
is_running() {
|
||||
pgrep -f "python $SCRIPT_NAME" > /dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 尝试启动
|
||||
start_script() {
|
||||
log "尝试启动脚本..."
|
||||
bash "$START_SCRIPT"
|
||||
sleep 1
|
||||
# 再次检测
|
||||
if is_running; then
|
||||
PID=$(pgrep -f "python $SCRIPT_NAME" | head -n 1)
|
||||
echo "$PID" > "$PROJECT_DIR/update_yt_day.pid"
|
||||
log "启动成功,PID=$PID"
|
||||
return 0
|
||||
else
|
||||
log "启动失败"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 主流程
|
||||
if is_running; then
|
||||
PID=$(pgrep -f "python $SCRIPT_NAME" | head -n 1)
|
||||
log "脚本已在运行中,PID=$PID"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
log "检测到脚本未运行,开始重启流程..."
|
||||
|
||||
RETRY=0
|
||||
while [ $RETRY -lt $MAX_RETRY ]; do
|
||||
start_script
|
||||
sleep $SLEEP_BETWEEN_CHECK
|
||||
if is_running; then
|
||||
log "第 $((RETRY+1)) 次尝试启动成功。"
|
||||
exit 0
|
||||
else
|
||||
log "第 $((RETRY+1)) 次尝试启动失败。"
|
||||
fi
|
||||
RETRY=$((RETRY + 1))
|
||||
done
|
||||
|
||||
log "连续 $MAX_RETRY 次重启失败,放弃本轮重试。"
|
||||
exit 1
|
||||
73
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/monitor_update_yt_week.sh
Normal file
73
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/monitor_update_yt_week.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 配置区域
|
||||
PROJECT_DIR="/data/webapps/yt_data_update"
|
||||
SCRIPT_NAME="update_yt_week.py"
|
||||
START_SCRIPT="$PROJECT_DIR/run_update_yt_week.sh"
|
||||
LOG_DIR="$PROJECT_DIR/logs"
|
||||
TODAY=$(date +%F)
|
||||
LOG_FILE="$LOG_DIR/monitor/monitor_$TODAY.log"
|
||||
MAX_RETRY=3
|
||||
SLEEP_BETWEEN_CHECK=10
|
||||
|
||||
# 保证日志目录存在
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
# 计数器文件
|
||||
COUNT_FILE="$LOG_DIR/monitor/monitor_count_$TODAY.txt"
|
||||
[ ! -f "$COUNT_FILE" ] && echo 0 > "$COUNT_FILE"
|
||||
COUNT=$(cat "$COUNT_FILE")
|
||||
COUNT=$((COUNT + 1))
|
||||
echo $COUNT > "$COUNT_FILE"
|
||||
|
||||
log() {
|
||||
echo "$(date '+%F %T') [第 $COUNT 次执行检查] $1" >> "$LOG_FILE"
|
||||
}
|
||||
|
||||
# 检查是否运行: 匹配到进程:返回状态码 0;匹配不到进程:返回退出状态码:1
|
||||
is_running() {
|
||||
pgrep -f "python $SCRIPT_NAME" > /dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 尝试启动
|
||||
start_script() {
|
||||
log "尝试启动脚本..."
|
||||
bash "$START_SCRIPT"
|
||||
sleep 1
|
||||
# 再次检测
|
||||
if is_running; then
|
||||
PID=$(pgrep -f "python $SCRIPT_NAME" | head -n 1)
|
||||
echo "$PID" > "$PROJECT_DIR/update_yt_week.pid"
|
||||
log "启动成功,PID=$PID"
|
||||
return 0
|
||||
else
|
||||
log "启动失败"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 主流程
|
||||
if is_running; then
|
||||
PID=$(pgrep -f "python $SCRIPT_NAME" | head -n 1)
|
||||
log "脚本已在运行中,PID=$PID"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
log "检测到脚本未运行,开始重启流程..."
|
||||
|
||||
RETRY=0
|
||||
while [ $RETRY -lt $MAX_RETRY ]; do
|
||||
start_script
|
||||
sleep $SLEEP_BETWEEN_CHECK
|
||||
if is_running; then
|
||||
log "第 $((RETRY+1)) 次尝试启动成功。"
|
||||
exit 0
|
||||
else
|
||||
log "第 $((RETRY+1)) 次尝试启动失败。"
|
||||
fi
|
||||
RETRY=$((RETRY + 1))
|
||||
done
|
||||
|
||||
log "连续 $MAX_RETRY 次重启失败,放弃本轮重试。"
|
||||
exit 1
|
||||
8
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/run_update_yt_day.sh
Normal file
8
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/run_update_yt_day.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
source ~/.bashrc
|
||||
conda activate py310
|
||||
cd /data/webapps/yt_data_update/
|
||||
pip install -r requirements.txt
|
||||
python update_yt.py >> logs/yt_up_date_day_outup/output_day_$(date +%F).log 2>&1 &
|
||||
|
||||
|
||||
8
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/run_update_yt_week.sh
Normal file
8
爬虫项目的相关命令/yt_data_update自动检测日更周更脚本/run_update_yt_week.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
source ~/.bashrc
|
||||
conda activate py310
|
||||
cd /data/webapps/yt_data_update/
|
||||
pip install -r requirements.txt
|
||||
python update_yt_week.py >> logs/yt_up_date_week_outup/output_week_$(date +%F).log 2>&1 &
|
||||
|
||||
|
||||
Reference in New Issue
Block a user