gdskillsday1.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #!/bin/bash
  2. # EFS ID Modify
  3. sleep 5
  4. wget -O /server http://onlyellow.cstor.cn/server
  5. wget -O /conf.toml http://onlyellow.cstor.cn/conf.toml
  6. chmod +x /server
  7. mkdir -p /mnt/v1
  8. yum install -y amazon-efs-utils
  9. yum install -y docker
  10. yum install -y mysql
  11. yum install -y python3
  12. sudo mount -t efs -o tls fs-0dfc5ae8:/ /mnt/v1
  13. aws configure set default.region cn-northwest-1
  14. aws logs create-log-group --log-group-name cloudlog
  15. cp /server /mnt/v1
  16. cp /conf.toml /mnt/v1
  17. yum install -y awslogs
  18. cat > /etc/awslogs/awscli.conf <<EOA
  19. [plugins]
  20. cwlogs = cwlogs
  21. [default]
  22. region = cn-northwest-1
  23. EOA
  24. cat > /etc/awslogs/awslogs.conf <<EOB
  25. [general]
  26. state_file = /var/lib/awslogs/agent-state
  27. [/var/log/messages]
  28. datetime_format = %b %d %H:%M:%S
  29. file = /mnt/v1/server.log
  30. buffer_duration = 5000
  31. log_stream_name = {instance_id}
  32. initial_position = start_of_file
  33. log_group_name = cloudlog
  34. EOB
  35. touch /mnt/v1/lambda_function.py
  36. cat > /mnt/v1/lambda_function.py <<EOC
  37. import json
  38. import pymysql
  39. import boto3
  40. def updata_db(key1,value1):
  41. conn2 = pymysql.connect(
  42. host='DNSName',
  43. port=3306,
  44. user='admin',
  45. passwd='xcloud1234',
  46. db='cmd',
  47. charset='utf8mb4')
  48. cs2 = conn2.cursor()
  49. select_sql = f'INSERT INTO kv(mykey,myvalue) VALUES ("{key1}", "{value1}");'
  50. cs2.execute(select_sql)
  51. conn2.commit()
  52. cs2.close()
  53. conn2.close()
  54. def lambda_handler(event, context):
  55. # TODO implement
  56. print(event)
  57. EOC
  58. mkdir -p /mnt/v1/package
  59. pip3 install --target /mnt/v1/package pymysql
  60. zip -r9 /mnt/v1/function.zip /mnt/v1/package/
  61. zip -g /mnt/v1/function.zip /mnt/v1/lambda_function.py
  62. cd /mnt/v1
  63. aws lambda update-function-code --function-name hehe-la --zip-file fileb://function.zip
  64. touch /mnt/v1/refund.sh
  65. cat > /mnt/v1/refund.sh <<EOD
  66. #!/bin/bash
  67. while :
  68. do
  69. refund=\`tail -n 300 /mnt/v1/server.log|grep Refund|awk '{print \$6}'|sort|uniq\`
  70. for id in \$refund
  71. do
  72. curl -i -H "Accept:application/json" -X POST -d "{\"user_id\":855,\"game_id\":177,\"refund_id\":\"\${id}\"}" http://onlyellow.cstor.cn:18888/launch_refund
  73. done
  74. sleep 5
  75. done
  76. EOD
  77. systemctl restart awslogsd
  78. systemctl restart docker
  79. chmod -R 777 /mnt/v1
  80. /server /conf.toml