scheduling_v3.sh 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/bash
  2. ###############################################
  3. #
  4. # 通过 run_scheduling_task_v3.py 调起当前 shell
  5. # 根据 crawler 及 task 的传递值,启动各个爬虫任务
  6. #
  7. ###############################################
  8. crawler_dir=$1 # 爬虫执行路径,如: ./youtube/youtube_main/run_youtube_follow.py
  9. log_type=$2 # 日志命名格式,如: follow,则在 youtube/logs/目录下,生成 2023-02-08-follow.log
  10. crawler=$3 # 哪款爬虫,如: youtube / kanyikan / weixinzhishu
  11. task=$4 # 爬虫任务
  12. #oss_endpoint=$5 # OSS网关,内网: inner / 外网: out / 香港: hk
  13. env=$5 # 爬虫运行环境,正式环境: prod / 测试环境: dev
  14. nohup_dir=$6 # nohup日志存储路径,如: ./youtube/nohup.log
  15. echo "$(date "+%Y-%m-%d %H:%M:%S") 开始调度爬虫任务"
  16. echo "crawler_dir:"${crawler_dir}
  17. echo "log_type:"${log_type}
  18. echo "crawler:"${crawler}
  19. echo "task:"${task}
  20. #echo "oss_endpoint:"${oss_endpoint}
  21. echo "env:"${env}
  22. echo "nohup_dir:"${nohup_dir}
  23. if [ ${env} = "--env=hk" ];then
  24. piaoquan_crawler_dir=/root/piaoquan_crawler/
  25. profile_path=/etc/profile
  26. python=python3
  27. elif [ ${crawler} = "--crawler=shipinhao" ] && [ ${env} = "--env=prod" ];then
  28. piaoquan_crawler_dir=/Users/piaoquan/Desktop/crawler/piaoquan_crawler/
  29. profile_path=/etc/profile
  30. python=python3
  31. node_path=/usr/local/bin/node
  32. elif [ ${env} = "--env=prod" ];then
  33. piaoquan_crawler_dir=/data5/piaoquan_crawler/
  34. profile_path=/etc/profile
  35. python=python
  36. elif [ ${env} = "--env=dev" ];then
  37. piaoquan_crawler_dir=/Users/wangkun/Desktop/crawler/piaoquan_crawler/
  38. profile_path=/etc/profile
  39. node_path=/opt/homebrew/bin/node
  40. python=python3
  41. else
  42. echo ${env}
  43. fi
  44. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量..."
  45. cd ~ && source ${profile_path}
  46. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量完成!"
  47. if [ ${env} = "--env=hk" ];then
  48. echo "升级yt-dlp"
  49. pip3 install yt-dlp -U
  50. elif [ ${crawler} = "--crawler=shipinhao" ];then
  51. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启Appium..."
  52. ps -ef | grep "/Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js" | grep -v "grep"
  53. if [ "$?" -eq 1 ];then
  54. echo "$(date "+%Y-%m-%d %H:%M:%S") Appium异常停止,正在重启!"
  55. rm -f ${piaoquan_crawler_dir}main/main_logs/nohup-appium.log
  56. nohup ${node_path} /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js >>./main/main_logs/nohup-appium.log 2>&1 &
  57. echo "$(date "+%Y-%m-%d %H:%M:%S") 重启Appium完毕!"
  58. else
  59. echo "$(date "+%Y-%m-%d %H:%M:%S") Appium 进程状态正常"
  60. fi
  61. else
  62. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在更新代码..."
  63. cd ${piaoquan_crawler_dir} && git pull origin master --force && rm -f ${piaoquan_crawler_dir}main/nohup.log && rm -f ${piaoquan_crawler_dir}${nohup_dir}
  64. echo "$(date "+%Y-%m-%d %H:%M:%S") 代码更新完成!"
  65. fi
  66. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启服务..."
  67. cd ${piaoquan_crawler_dir}
  68. nohup ${python} -u ${crawler_dir} ${log_type} ${crawler} ${task} ${env} >> ${nohup_dir} 2>&1 &
  69. echo "$(date "+%Y-%m-%d %H:%M:%S") 服务重启完毕!"
  70. exit 0