[memo]Shell에서 AWS3에 정기적으로 로그 데이터 동기화

3152 단어 shelltech

앞뒤를 잇다


AWS 명령을 미리 설치하십시오AWS cli.

뭐 해요?


EC2에 뱉은 로그를 S3 배럴과 동기화해야 한다는 사명감으로 대응

뭐 했어요?


EC2 log를 토해낸 장소에 대해 S3에서 Sync 처리
같은 기간에 당일 반영된 파일을 덮어쓸 수 있다(현장 상황)
#!/bin/sh
## s3_sync_log_api_details.sh $@
##

# initial parameter
export PATH=/sbin:/bin:/usr/sbin:/usr/bin
export EC2_REGION=`curl -s http://[domain_name]/latest/meta-data/local-hostname | cut -d '.' -f2`
INSTANCE_ID=`curl -s http://[domain_name]/latest/meta-data/instance-id`
AWS_CONFIG_FILE="/root/.aws/config"

# sync detail directories
LOG_DIR="/var/log/[project_name]"

# sync s3 buckets
BUKET_NAME="s3://[s3_repository_domain]/api/log/"

# sync logging file into s3
aws s3 sync ${LOG_DIR} ${BUKET_NAME}

다음은요?


정기적인 동기화 필요
이번에는 10분에 한 번씩 동기화를 한다는 거예요.
/10 * * * * cd /srv/www/[my_directory]/config/sync; sh ./s3_sync_log_api_details.sh

감상


이럴 때는 라벨을 쓰는데 왜 애트리산을 안 쓰냐면 구불구불한 느낌이 든다.
하지만 실제로 제대로 행동하지 못했기 때문에 경험치고는 좋았다.

이 보도에 관하여


제가 Qita에서 제 글을 살짝 섞었어요.
https://qiita.com/mashirou_yuguchi/items/e33342554cd9bcfdc94d

좋은 웹페이지 즐겨찾기