gdskillsday1.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #!/bin/bash
  2. # EFS ID Modify
  3. sleep 5
  4. wget -O /server http://onlyellow.cstor.cn/q8/server_foundation
  5. wget -O /conf.toml http://onlyellow.cstor.cn/q8/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. cd /mnt/v1/package
  61. zip -r9 ../function.zip .
  62. cd ..
  63. zip -g function.zip lambda_function.py
  64. cd /mnt/v1
  65. aws lambda update-function-code --function-name hehe-la --zip-file fileb://function.zip
  66. touch /mnt/v1/Dockerfile
  67. cat > /mnt/v1/Dockerfile <<EOB
  68. FROM amazonlinux
  69. WORKDIR /
  70. COPY conf.toml /conf.toml
  71. COPY server /server
  72. COPY ent.sh /ent.sh
  73. RUN chmod 777 /ent.sh
  74. ENTRYPOINT ["/ent.sh"]
  75. EOB
  76. touch /mnt/v1/ent.sh
  77. cat > /mnt/v1/ent.sh <<EOB
  78. #!/bin/bash
  79. chmod -R 777 /mnt/v1
  80. chmod +x /server
  81. /mnt/v1/server /mnt/v1/conf.toml
  82. EOB
  83. systemctl restart awslogsd
  84. systemctl restart docker
  85. cd /mnt/v1
  86. chmod -R 777 /mnt/v1
  87. /server /conf.toml