userdata.sh 1.6 KB

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