run_monitor.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. path=$1 # 爬虫路径
  3. log_type=$2 # 爬虫策略
  4. crawler=$3 # 哪款爬虫
  5. env=$4 # 环境
  6. if [ ${env} = "dev" ];then
  7. piaoquan_crawler_dir=/Users/wangkun/Desktop/crawler/piaoquan_crawler/
  8. profile_path=/etc/profile
  9. python=python3
  10. log_path=${piaoquan_crawler_dir}monitor/logs/$(date +%Y-%m-%d)-shell.log
  11. else
  12. piaoquan_crawler_dir=/root/piaoquan_crawler/
  13. profile_path=/etc/profile
  14. python=python3
  15. log_path=${piaoquan_crawler_dir}monitor/logs/$(date +%Y-%m-%d)-shell.log
  16. fi
  17. echo "开始..." >> ${log_path}
  18. # ====================进程心跳检测====================
  19. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在监测 run_cpu_memory 进程状态" >> ${log_path}
  20. # 使用pgrep命令匹配进程名称为run_cpu_memory.py的进程数量
  21. process_count=$(pgrep -f "run_cpu_memory.py" | wc -l)
  22. if [[ "$process_count" -gt 0 ]]; then
  23. echo "$(date "+%Y-%m-%d %H:%M:%S") run_cpu_memory 进程状态正常。" >> ${log_path}
  24. else
  25. echo "$(date "+%Y-%m-%d_%H:%M:%S") 未运行, 正在启动..." >> ${log_path}
  26. cd ${piaoquan_crawler_dir} && nohup ${python} -u ${path} --log_type="${log_type}" --crawler="${crawler}" --env="${env}" >> ${log_path} &
  27. echo "$(date "+%Y-%m-%d %H:%M:%S") 启动完成!" >> ${log_path}
  28. fi
  29. # ===================================================
  30. # 删除日志
  31. echo "$(date "+%Y-%m-%d %H:%M:%S") 开始清理 10 天前的日志文件" >> ${log_path}
  32. find ${piaoquan_crawler_dir}monitor/logs/ -mtime +10 -name "*.log" -exec rm -rf {} \;
  33. echo "$(date "+%Y-%m-%d %H:%M:%S") 日志文件清理完毕" >> ${log_path}
  34. exit 0