#!/bin/bash exit file_path="/home/work/scripts/auto/cdn/domain" log_path="/home/work/scripts/auto/cdn/findCDNnewWEB.log" # 校验目标路径存在(避免find报错) if [ ! -d "${file_path}" ]; then echo "[$(date +'%Y-%m-%d %H:%M:%S')] 错误:目标路径 ${file_path} 不存在!脚本终止。" >> "${log_path}" exit 1 fi # 查找文件并处理(加引号处理特殊字符) find "${file_path}" -type f -mmin +10 -print0 | while IFS= read -r -d '' file; do # 提取纯文件名(加引号处理空格) pure_filename=$(basename "${file}") # 读取文件内容(加引号处理特殊字符) file_content=$(cat "${file}") # 记录开始处理日志 echo "[$(date +'%Y-%m-%d %H:%M:%S')] 开始处理文件:${file}(文件名:${pure_filename})" >> "${log_path}" # 执行子脚本并记录结果(逐个执行,确保前一个成功再执行下一个) all_success=1 # 标记是否所有命令都成功 # 执行第一个脚本:cdnIPV6.py . /home/work/.bash_profile && /home/work/chensi/python/bin/python3 /home/work/scripts/auto/cdn/cdnIPV6.py "${pure_filename}" off if [ $? -ne 0 ]; then echo "[$(date +'%Y-%m-%d %H:%M:%S')] 错误:执行 cdnIPV6.py 失败(文件:${pure_filename})" >> "${log_path}" all_success=0 else echo "[$(date +'%Y-%m-%d %H:%M:%S')] 成功:执行 cdnIPV6.py 完成(文件:${pure_filename})" >> "${log_path}" fi # 执行第二个脚本:setCdnParam.sh(仅当前一个成功时执行) if [ ${all_success} -eq 1 ]; then . /home/work/.bash_profile && sh /home/work/scripts/auto/cdn/setCdnParam.sh "${pure_filename}" if [ $? -ne 0 ]; then echo "[$(date +'%Y-%m-%d %H:%M:%S')] 错误:执行 setCdnParam.sh 失败(文件:${pure_filename})" >> "${log_path}" all_success=0 else echo "[$(date +'%Y-%m-%d %H:%M:%S')] 成功:执行 setCdnParam.sh 完成(文件:${pure_filename})" >> "${log_path}" fi fi # 执行第三个脚本:changeCname.sh(仅当前两个成功时执行) if [ ${all_success} -eq 1 ]; then . /home/work/.bash_profile && sh /home/work/scripts/auto/cdn/changeCname.sh "${pure_filename}" "${file_content}" if [ $? -ne 0 ]; then echo "[$(date +'%Y-%m-%d %H:%M:%S')] 错误:执行 changeCnames.sh 失败(文件:${pure_filename})" >> "${log_path}" all_success=0 else echo "[$(date +'%Y-%m-%d %H:%M:%S')] 成功:执行 changeCnames.sh 完成(文件:${pure_filename})" >> "${log_path}" fi fi # 只有所有脚本成功执行后,才删除文件 if [ ${all_success} -eq 1 ]; then rm -f "${file}" if [ $? -eq 0 ]; then echo "[$(date +'%Y-%m-%d %H:%M:%S')] 成功:删除文件 ${file}" >> "${log_path}" else echo "[$(date +'%Y-%m-%d %H:%M:%S')] 错误:删除文件 ${file} 失败" >> "${log_path}" fi else echo "[$(date +'%Y-%m-%d %H:%M:%S')] 警告:因子脚本执行失败,未删除文件 ${file}" >> "${log_path}" fi # 单个文件处理结束分隔符 echo "--------------------------------------------------" >> "${log_path}" done