scheduling_main.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. #machine=$5 # 爬虫运行机器,阿里云服务器: aliyun_hk / aliyun / macpro / macair / local
  7. nohup_dir=$5 # nohup日志存储路径,如: ./youtube/nohup.log
  8. echo "开始"
  9. echo ${env}
  10. if [ ${env} = "--env=hk" ];then
  11. piaoquan_crawler_dir=/root/piaoquan_crawler/
  12. profile_path=/etc/profile
  13. python=python3
  14. elif [ ${env} = "--env=prod" ];then
  15. piaoquan_crawler_dir=/data5/piaoquan_crawler/
  16. profile_path=/etc/profile
  17. python=python
  18. elif [ ${env} = "--env=dev" ];then
  19. piaoquan_crawler_dir=/Users/wangkun/Desktop/crawler/piaoquan_crawler/
  20. profile_path=/etc/profile
  21. node_path=/opt/homebrew/bin/node
  22. python=python3
  23. fi
  24. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量..."
  25. cd ~ && source ${profile_path}
  26. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量完成!"
  27. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在杀进程..."
  28. grep_str=run_${crawler##*=}
  29. ps aux | grep ${grep_str} | grep Python | grep -v grep | awk '{print $2}' | xargs kill -9
  30. echo "$(date "+%Y-%m-%d %H:%M:%S") 进程已杀死!"
  31. if [ ${env} = "--env=hk" ];then
  32. echo "升级yt-dlp"
  33. pip3 install yt-dlp -U
  34. else
  35. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在更新代码..."
  36. cd ${piaoquan_crawler_dir} && git pull origin master --force && rm -f ${piaoquan_crawler_dir}main/nohup.log && rm -f ${piaoquan_crawler_dir}${nohup_dir}
  37. echo "$(date "+%Y-%m-%d %H:%M:%S") 代码更新完成!"
  38. fi
  39. if [ ${env} = "--env=hk" ];then
  40. echo "无需重启Appium及adb服务"
  41. elif [ ${env} = "--env=prod" ];then
  42. echo "无需重启Appium及adb服务"
  43. else
  44. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启Appium..."
  45. ps aux | grep Appium.app | grep -v grep | awk '{print $2}' | xargs kill -9
  46. nohup ${node_path} /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js >>./nohup.log 2>&1 &
  47. echo "$(date "+%Y-%m-%d %H:%M:%S") 重启Appium完毕!"
  48. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启adb..."
  49. adb kill-server
  50. adb start-server
  51. echo "$(date "+%Y-%m-%d %H:%M:%S") 重启adb完毕!"
  52. fi
  53. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启服务..."
  54. cd ${piaoquan_crawler_dir}
  55. nohup ${python} -u ${crawler_dir} ${log_type} ${crawler} ${env} >>${nohup_dir} 2>&1 &
  56. echo "$(date "+%Y-%m-%d %H:%M:%S") 服务重启完毕!"
  57. exit 0