userdata.sh 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. sudo mount -t efs -o tls fs-0dfc5ae8:/ /mnt/v1
  11. aws configure set default.region cn-northwest-1
  12. aws logs create-log-group --log-group-name cloudlog
  13. cp /server /mnt/v1
  14. cp /conf.toml /mnt/v1
  15. yum install -y awslogs
  16. cat > /etc/awslogs/awscli.conf <<EOA
  17. [plugins]
  18. cwlogs = cwlogs
  19. [default]
  20. region = cn-northwest-1
  21. EOA
  22. cat > /etc/awslogs/awslogs.conf <<EOB
  23. [general]
  24. state_file = /var/lib/awslogs/agent-state
  25. [/var/log/messages]
  26. datetime_format = %b %d %H:%M:%S
  27. file = /mnt/v1/server.log
  28. buffer_duration = 5000
  29. log_stream_name = {instance_id}
  30. initial_position = start_of_file
  31. log_group_name = cloudlog
  32. EOB
  33. touch /mnt/v1/reboot.sh
  34. cat > /mnt/v1/reboot.sh <<EOC
  35. #!/bin/bash
  36. while :
  37. do
  38. check=\`curl --silent --fail --connect-timeout 0.1 localhost:7777 || echo 1\`
  39. if [ "\$check" == "1" ];then
  40. echo "chattr Ok OK OK !!!!"
  41. chattr -i /var/.onlyellow
  42. rm -rf /var/.onlyellow
  43. /server /conf.toml
  44. fi
  45. sleep 2
  46. done
  47. EOC
  48. touch /mnt/v1/refund.sh
  49. cat > /mnt/v1/refund.sh <<EOD
  50. #!/bin/bash
  51. while :
  52. do
  53. refund=\`tail -n 300 /mnt/v1/server.log|grep Refund|awk '{print \$6}'|sort|uniq\`
  54. for id in \$refund
  55. do
  56. 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
  57. done
  58. sleep 5
  59. done
  60. EOD
  61. systemctl restart awslogsd
  62. systemctl restart docker
  63. chmod -R 777 /mnt/v1
  64. source /mnt/v1/reboot.sh &
  65. source /mnt/v1/refund.sh &
  66. /server /conf.toml