run_shipinhao.sh 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. crawler_dir=$1 # 爬虫执行路径,如: ./youtube/youtube_main/run_youtube_follow.py
  3. log_type=$2 # 日志命名格式,如: follow,则在 youtube/logs/目录下,生成 2023-02-08-follow.log
  4. crawler=$3 # 哪款爬虫,如: youtube / kanyikan / weixinzhishu
  5. env=$4 # 爬虫运行环境,正式环境: prod / 测试环境: dev
  6. #nohup_dir=$5 # nohup日志存储路径,如: ./youtube/nohup.log
  7. if [ ${env} = "--env=prod" ];then
  8. piaoquan_crawler_dir=/Users/piaoquan/Desktop/piaoquan_crawler/
  9. profile_path=/etc/profile
  10. python=/usr/bin/python3
  11. node_path=/usr/local/bin/node
  12. nohup_log_path=${piaoquan_crawler_dir}shipinhao/logs/$(date +%Y-%m-%d)-run-shell.log
  13. elif [ ${env} = "--env=dev" ];then
  14. piaoquan_crawler_dir=/Users/wangkun/Desktop/crawler/piaoquan_crawler/
  15. profile_path=/etc/profile
  16. node_path=/opt/homebrew/bin/node
  17. python=python3
  18. nohup_log_path=${piaoquan_crawler_dir}shipinhao/logs/$(date +%Y-%m-%d)-run-shell.log
  19. fi
  20. #rm -f ${piaoquan_crawler_dir}shipinhao/logs/appium.log
  21. #ps aux | grep shipinhao_search | grep -v grep | awk '{print $2}' | xargs kill -9
  22. echo "开始..." >> ${nohup_log_path}
  23. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量..." >> ${nohup_log_path}
  24. cd ~ && source ${profile_path}
  25. # shellcheck disable=SC2129
  26. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量完成!" >> ${nohup_log_path}
  27. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在更新代码..." >> ${nohup_log_path}
  28. #cd ${piaoquan_crawler_dir} && git pull origin master --force
  29. echo "$(date "+%Y-%m-%d %H:%M:%S") 代码更新完成!" >> ${nohup_log_path}
  30. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在检测 Appium 运行状态" >> ${nohup_log_path}
  31. ps aux | grep Appium.app | grep -v grep | awk '{print $2}' | xargs kill -9
  32. ps -ef | grep "/Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js" | grep -v "grep"
  33. if [ "$?" -eq 1 ];then
  34. echo "$(date "+%Y-%m-%d %H:%M:%S") Appium 异常停止,正在重启!" >> ${nohup_log_path}
  35. nohup ${node_path} /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js >> ${piaoquan_crawler_dir}shipinhao/logs/appium.log 2>&1 &
  36. echo "$(date "+%Y-%m-%d %H:%M:%S") 重启Appium完毕!" >> ${nohup_log_path}
  37. else
  38. # rm -f ${piaoquan_crawler_dir}shipinhao/logs/appium.log
  39. echo "$(date "+%Y-%m-%d %H:%M:%S") Appium 运行状态正常" >> ${nohup_log_path}
  40. fi
  41. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启爬虫服务..." >> ${nohup_log_path}
  42. cd ${piaoquan_crawler_dir}
  43. nohup ${python} -u ${crawler_dir} ${log_type} ${crawler} ${env} >> ${nohup_log_path} 2>&1 &
  44. echo "$(date "+%Y-%m-%d %H:%M:%S") 爬虫服务重启完毕!" >> ${nohup_log_path}
  45. exit 0