main.sh 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/bash
  2. # 看一看+小程序 朋友圈榜单
  3. # sh ./main/main.sh ./kanyikan/kanyikan_main/run_kanyikan_moment.py --log_type="moment" --crawler="kanyikan" --strategy="kanyikan_moment" --our_uid="kanyikan_moment" --oss_endpoint="out" --env="dev" ./kanyikan/nohup.log local
  4. # youtube 定向策略
  5. # sh ./main/main.sh ./youtube/youtube_main/run_youtube_follow.py --log_type="follow" --crawler="youtube" --strategy="定向爬虫策略" --oss_endpoint="out" --env="dev" --machine="local" youtube/nohup.log
  6. # ps aux | grep run_youtube | grep Python | grep -v grep | awk '{print $2}' | xargs kill -9
  7. crawler_dir=$1 # 爬虫执行路径,如: ./youtube/youtube_main/run_youtube_follow.py
  8. log_type=$2 # 日志命名格式,如: follow,则在 youtube/logs/目录下,生成 2023-02-08-follow.log
  9. crawler=$3 # 哪款爬虫,如: youtube / kanyikan / weixinzhishu
  10. strategy=$4 # 爬虫策略,如: 定向爬虫策略 / 小时榜爬虫策略 / 热榜爬虫策略
  11. oss_endpoint=$5 # OSS网关,内网: inner / 外网: out / 香港: hk
  12. env=$6 # 爬虫运行环境,正式环境: prod / 测试环境: dev
  13. machine=$7 # 爬虫运行机器,阿里云服务器: aliyun / macpro / macair / local
  14. nohup_dir=$8 # nohup日志存储路径,如: ./youtube/nohup.log
  15. echo "开始"
  16. if [ ${machine} = "macpro" ];then
  17. piaoquan_crawler_dir=/Users/lieyunye/Desktop/piaoquan_crawler/
  18. profile_path=.bash_profile
  19. node_path=/usr/local/bin/node
  20. python=python3
  21. elif [ ${machine} = "macair" ];then
  22. piaoquan_crawler_dir=/Users/piaoquan/Desktop/piaoquan_crawler/
  23. profile_path=./base_profile
  24. node_path=/usr/local/bin/node
  25. python=python3
  26. elif [ ${machine} = "aliyun" ];then
  27. piaoquan_crawler_dir=/data5/wangkun/piaoquan_crawler/
  28. profile_path=/etc/profile
  29. python=python
  30. elif [ ${machine} = "local" ];then
  31. piaoquan_crawler_dir=/Users/wangkun/Desktop/crawler/piaoquan_crawler/
  32. profile_path=/etc/profile
  33. node_path=/opt/homebrew/bin/node
  34. python=python3
  35. else
  36. piaoquan_crawler_dir=/Users/wangkun/Desktop/crawler/piaoquan_crawler/
  37. profile_path=/etc/profile
  38. node_path=/opt/homebrew/bin/node
  39. python=python3
  40. fi
  41. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量..."
  42. cd ~ && source ${profile_path}
  43. echo "$(date "+%Y-%m-%d %H:%M:%S") 更新环境变量完成!"
  44. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在杀进程..."
  45. grep_str=run_${crawler##*=}
  46. ps aux | grep ${grep_str} | grep Python | grep -v grep | awk '{print $2}' | xargs kill -9
  47. echo "$(date "+%Y-%m-%d %H:%M:%S") 进程已杀死!"
  48. if [ ${oss_endpoint} = "hk" ];then
  49. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在更新代码..."
  50. cd /root/piaoquan_crawler/ && git pull origin master --force && rm -f /root/piaoquan_crawler/main/nohup.log && rm -f /root/piaoquan_crawler/${nohup_dir}
  51. echo "$(date "+%Y-%m-%d %H:%M:%S") 代码更新完成!"
  52. else
  53. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在更新代码..."
  54. cd ${piaoquan_crawler_dir} && git pull origin master --force && rm -f ${piaoquan_crawler_dir}main/nohup.log && rm -f ${piaoquan_crawler_dir}${nohup_dir}
  55. #echo ${piaoquan_crawler_dir}
  56. echo "$(date "+%Y-%m-%d %H:%M:%S") 代码更新完成!"
  57. fi
  58. if [ ${machine} != "aliyun" ];then
  59. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启Appium..."
  60. ps aux | grep Appium.app | grep -v grep | awk '{print $2}' | xargs kill -9
  61. nohup ${node_path} /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js >>./nohup.log 2>&1 &
  62. echo "$(date "+%Y-%m-%d %H:%M:%S") 重启Appium完毕!"
  63. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启adb..."
  64. adb kill-server
  65. adb start-server
  66. echo "$(date "+%Y-%m-%d %H:%M:%S") 重启adb完毕!"
  67. else
  68. echo "无需重启Appium及adb服务"
  69. fi
  70. echo "$(date "+%Y-%m-%d %H:%M:%S") 正在重启服务..."
  71. nohup ${python} -u ${crawler_dir} ${log_type} ${crawler} ${strategy} ${oss_endpoint} ${env} ${machine} >>${nohup_dir} 2>&1 &
  72. echo "$(date "+%Y-%m-%d %H:%M:%S") 服务重启完毕!"
  73. exit 0