🆕尝试使用脚本实现定时任务和api

This commit is contained in:
2024-08-03 12:31:41 +08:00
parent f9fddaa63e
commit 8afdc06741
4 changed files with 56 additions and 44 deletions

View File

@ -1,2 +1,46 @@
#!/bin/bash
nohup python3 server.py > grab.log 2>&1 &
# 获取当前脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# 定义日志文件路径
CRON_LOG_FILE="$SCRIPT_DIR/cron_grab.log"
API_LOG_FILE="$SCRIPT_DIR/api_grab.log"
# 定义要执行的命令
COMMAND="python3 $SCRIPT_DIR/run.py"
# 定义定时任务的执行间隔(例如每四小时一次)
INTERVAL="4"
# 添加定时任务到 crontab
(crontab -l 2>/dev/null; echo "0 */$INTERVAL * * * $COMMAND >> $CRON_LOG_FILE 2>&1 && echo '运行成功'") | crontab -
echo "===================================="
echo "定时爬取 成功设置时间间隔4h"
echo "定时任务日志:$CRON_LOG_FILE"
echo "===================================="
# 后台运行服务端将数据映射到API
echo "****正在启动API服务****"
nohup python3 $SCRIPT_DIR/server.py > $API_LOG_FILE 2>&1 &
API_PID=$!
sleep 5 # 等待API服务启动可能需要调整等待时间
echo "API 服务已启动http://localhost:1223"
echo "API 服务日志:$API_LOG_FILE"
echo "API 服务进程号:$API_PID"
echo "API 服务关闭命令kill -9 $API_PID"
echo "文档地址https://blog.qyliu.top/posts/4dc716ec/"
echo "===================================="
# 用户选择是否执行爬取
read -p "选择操作0 - 退出, 1 - 执行一次爬取: " USER_CHOICE
if [ "$USER_CHOICE" -eq 1 ]; then
echo "****正在执行一次爬取****"
python3 $SCRIPT_DIR/run.py
echo "****爬取成功****"
else
echo "退出选项被选择。"
fi