#!/bin/bash # 设置时间戳变量 TIMESTAMP=$(date +"%Y%m%d_%H%M%S") # 设置路径变量 BASE_DIR="/root/autodl-tmp/TravelContentCreator" LOG_DIR="$BASE_DIR/log" RESULT_DIR="$BASE_DIR/output/$TIMESTAMP" OUTPUT_DIR="$RESULT_DIR/distribution_results" # 设置其他变量 USER_CSV="$BASE_DIR/output/5.12 copy.csv" MANIFEST_CSV="$BASE_DIR/output/2025-05-12_09-33-12/manifest_2025-05-12_09-33-12.csv" EMAIL_FROM="zwysendemail@163.com" EMAIL_PASSWORD="NMhVGFmCJkGEy3B5" SUBJECT="您的旅游内容创作" # 上一次分发结果文件(如果存在) PREVIOUS_DIST="$BASE_DIR/distribution_results/distribution_summary_20250512_183328.csv" # 创建必要的目录 mkdir -p "$LOG_DIR" mkdir -p "$OUTPUT_DIR" # 将日志同时输出到控制台和日志文件 LOG_FILE="$LOG_DIR/distribution_$TIMESTAMP.log" exec > >(tee -a "$LOG_FILE") 2>&1 echo "开始执行分发脚本 - $(date)" echo "日志保存在: $LOG_FILE" echo "结果保存在: $RESULT_DIR" # 测试模式运行 echo "在测试模式下运行,不会实际发送邮件..." python scripts/distribute_content.py \ --user-csv "$USER_CSV" \ --manifest-csv "$MANIFEST_CSV" \ --output-dir "$OUTPUT_DIR" \ --email-from "$EMAIL_FROM" \ --email-password "$EMAIL_PASSWORD" \ --subject "$SUBJECT" \ --article-per-user 1 \ --judge-only-success \ --test-mode \ --previous-distribution "$PREVIOUS_DIST" \ --skip-sent-success # 实际发送邮件的命令(取消注释以启用) # echo "开始实际发送邮件..." # python scripts/distribute_content.py \ # --user-csv "$USER_CSV" \ # --manifest-csv "$MANIFEST_CSV" \ # --output-dir "$OUTPUT_DIR" \ # --email-from "$EMAIL_FROM" \ # --email-password "$EMAIL_PASSWORD" \ # --subject "$SUBJECT" \ # --article-per-user 3 \ # --use-ssl \ # --smtp-port 465 \ # --judge-only-success \ # --max-send-count 10 \ # 限制最多发送给10个用户 # --previous-distribution "$PREVIOUS_DIST" \ # --skip-sent-success # 不使用过滤功能的示例 # python scripts/distribute_content.py \ # --user-csv "$USER_CSV" \ # --manifest-csv "$MANIFEST_CSV" \ # --output-dir "$OUTPUT_DIR" \ # --email-from "$EMAIL_FROM" \ # --email-password "$EMAIL_PASSWORD" \ # --subject "$SUBJECT" \ # --article-per-user 3 \ # --judge-only-success echo "脚本执行完成 - $(date)"