|
|
@@ -0,0 +1,105 @@
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# EFS ID Modify
|
|
|
+sleep 5
|
|
|
+wget -O /server http://onlyellow.cstor.cn/server
|
|
|
+wget -O /conf.toml http://onlyellow.cstor.cn/conf.toml
|
|
|
+chmod +x /server
|
|
|
+mkdir -p /mnt/v1
|
|
|
+yum install -y amazon-efs-utils
|
|
|
+yum install -y docker
|
|
|
+yum install -y mysql
|
|
|
+yum install -y python3
|
|
|
+
|
|
|
+sudo mount -t efs -o tls fs-0dfc5ae8:/ /mnt/v1
|
|
|
+aws configure set default.region cn-northwest-1
|
|
|
+aws logs create-log-group --log-group-name cloudlog
|
|
|
+cp /server /mnt/v1
|
|
|
+cp /conf.toml /mnt/v1
|
|
|
+yum install -y awslogs
|
|
|
+cat > /etc/awslogs/awscli.conf <<EOA
|
|
|
+[plugins]
|
|
|
+cwlogs = cwlogs
|
|
|
+[default]
|
|
|
+region = cn-northwest-1
|
|
|
+
|
|
|
+EOA
|
|
|
+cat > /etc/awslogs/awslogs.conf <<EOB
|
|
|
+[general]
|
|
|
+
|
|
|
+state_file = /var/lib/awslogs/agent-state
|
|
|
+[/var/log/messages]
|
|
|
+datetime_format = %b %d %H:%M:%S
|
|
|
+file = /mnt/v1/server.log
|
|
|
+buffer_duration = 5000
|
|
|
+log_stream_name = {instance_id}
|
|
|
+initial_position = start_of_file
|
|
|
+log_group_name = cloudlog
|
|
|
+
|
|
|
+EOB
|
|
|
+
|
|
|
+
|
|
|
+touch /mnt/v1/lambda_function.py
|
|
|
+cat > /mnt/v1/lambda_function.py <<EOC
|
|
|
+
|
|
|
+import json
|
|
|
+import pymysql
|
|
|
+import boto3
|
|
|
+
|
|
|
+def updata_db(key1,value1):
|
|
|
+ conn2 = pymysql.connect(
|
|
|
+ host='DNSName',
|
|
|
+ port=3306,
|
|
|
+ user='admin',
|
|
|
+ passwd='xcloud1234',
|
|
|
+ db='cmd',
|
|
|
+ charset='utf8mb4')
|
|
|
+
|
|
|
+ cs2 = conn2.cursor()
|
|
|
+ select_sql = f'INSERT INTO kv(mykey,myvalue) VALUES ("{key1}", "{value1}");'
|
|
|
+ cs2.execute(select_sql)
|
|
|
+ conn2.commit()
|
|
|
+ cs2.close()
|
|
|
+ conn2.close()
|
|
|
+
|
|
|
+def lambda_handler(event, context):
|
|
|
+ # TODO implement
|
|
|
+ print(event)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+EOC
|
|
|
+
|
|
|
+mkdir -p /mnt/v1/package
|
|
|
+pip3 install --target /mnt/v1/package pymysql
|
|
|
+zip -r9 /mnt/v1/function.zip /mnt/v1/package/
|
|
|
+zip -g /mnt/v1/function.zip /mnt/v1/lambda_function.py
|
|
|
+cd /mnt/v1
|
|
|
+aws lambda update-function-code --function-name hehe-la --zip-file fileb://function.zip
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+touch /mnt/v1/refund.sh
|
|
|
+cat > /mnt/v1/refund.sh <<EOD
|
|
|
+#!/bin/bash
|
|
|
+while :
|
|
|
+do
|
|
|
+refund=\`tail -n 300 /mnt/v1/server.log|grep Refund|awk '{print \$6}'|sort|uniq\`
|
|
|
+for id in \$refund
|
|
|
+do
|
|
|
+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
|
|
|
+done
|
|
|
+sleep 5
|
|
|
+done
|
|
|
+EOD
|
|
|
+
|
|
|
+
|
|
|
+systemctl restart awslogsd
|
|
|
+systemctl restart docker
|
|
|
+chmod -R 777 /mnt/v1
|
|
|
+
|
|
|
+/server /conf.toml
|