์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- docker compose
- docker ps -a
- Entity
- JPA
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- ๋ค์ค ์ปจํ ์ด๋
- ํ์ดํผ๋ฐ์ด์
- Kafka
- private subnet ec2 ๋ก์ปฌ ์ ์
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- Codedeploy ์ค๋ฅ
- aws saa ํฉ๊ฒฉ
- prod docker-compose
- AWS Certified Solutions Architect - Associate
- ์คํํ๋ ๋ฏธ์ค
- redis ์กฐํ
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๋ฐ
- s3 log ์ ์ฅ
- nGrinder
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- aws ์ฟ ํฐ
- redis ํ ์คํธ์ฝ๋
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- docker-compose kafka
- docker
- @RestControllerAdvice
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- Today
- Total
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
[AWS] deploy.sh log๋ฅผ Crontab ์ค์ผ์ฅด๋ง์ผ๋ก AWS S3์ ์ ์ฅํ๊ธฐ ๋ณธ๋ฌธ
[AWS] deploy.sh log๋ฅผ Crontab ์ค์ผ์ฅด๋ง์ผ๋ก AWS S3์ ์ ์ฅํ๊ธฐ
๐คRyusun๐ค 2024. 2. 23. 00:37ํ๋ก์ ํธ๋ฅผ ์งํ์ค, CodeDeploy log ๋ฅผ S3 ๋ฒํท ์์ฑํ ํด๋น ๋ฒํท์ ์ ์ฅํด๋ณด๋ผ๋ ๊ณผ์ ๊ฐ ์ฃผ์ด์ก๋ค.
์์คํฌ๋ฆฝํธ + crontab์ ํตํด s3์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๊ณต์ ํด๋ณธ๋ค.
์ฐ์ ํ์ฌ ํ๋ก์ ํธ ๋ฐฐํฌ ๊ตฌ์ถ ํ๊ฒฝ์ ์ค๋ช ํ์๋ฉด,
์ ํจ์ค๋ก CI ๊ตฌ์ถ + AWS CodeDeploy๋ฅผ ํตํด ์๋ CD ํ๊ฒฝ์ ๊ตฌ์ถํ์๋ค.
์คํ๋ง๋ถํธ์ deploy.sh ํ์ผ์ ์์ฑํ ์ ์คํฌ๋ฆฝํธ๋ก ์์ฑํด ๋ฐฐํฌ๋ฅผ ์๋ํํ๋ค.
1. deploy.sh ํ์ผ ์์ฑ
#!/bin/bash
BUILD_JAR=$(ls /home/ubuntu/app/build/libs/*.jar)
JAR_NAME=$(basename $BUILD_JAR)
echo "> build : $JAR_NAME" >> /home/ubuntu/applog/applog.log
echo "> build ํ์ผ ๋ณต์ฌ" >> /home/ubuntu/applog/applog.log
DEPLOY_PATH=/home/ubuntu/
cp $BUILD_JAR $DEPLOY_PATH
echo "> ์คํ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์
pid ํ์ธ" >> /home/ubuntu/applog/applog.log
CURRENT_PID=$(pgrep -f $JAR_NAME)
if [ -z $CURRENT_PID ]
then
echo "> ์คํ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ผ๋ฏ๋ก ์ข
๋ฃํ์ง ์์" >> /home/ubuntu/applog/applog.log
else
echo "> kill -9 $CURRENT_PID" >> /home/ubuntu/applog/applog.log
kill -9 $CURRENT_PID
sleep 10
fi
# deploy
DEPLOY_JAR=$DEPLOY_PATH$JAR_NAME
echo "> DEPLOY_JAR ๋ฐฐํฌ" >> /home/ubuntu/applog/applog.log
nohup java -jar $DEPLOY_JAR >> /home/ubuntu/applog/applog.log 2>/home/ubuntu/applog/errlog.log &
ํ์๋ ๋ฐฐํฌ ์ฑ๊ณต ๋ก๊ทธ๋ฅผ ec2๋ด /home/ubuntu/applog/applog.log ํ์ผ์ ์ ์ฅ, ์คํจ๋ก๊ทธ๋ errlog.log์ ์ ์ฅ๋๊ฒ ํ์๋ค.
์ ์คํฌ๋ฆฝํธ ๊ฐ๋ , ์์ฑ ๋ฐฉ๋ฒ, ์ฝ๋๋ ์๋ ๋ธ๋ก๊ทธ์์ ์์ธํ๊ฒ ๋์์์ด ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๊ธธ ์ถ์ฒํ๋ค.
https://velog.io/@mooh2jj/์-์คํฌ๋ฆฝํธ๋
์ ์คํฌ๋ฆฝํธ๋(+deploy.sh)
์ ์คํฌ๋ฆฝํธ๋ SHELL์์ ์ฌ์ฉํ ์ ์๋ ๋ช ๋ น์ด๋ค์ ์กฐํฉ์ผ๋ก ๋ชจ์์ ๋ง๋ ๋ฐฐ์น(Batch)ํ์ผ์ด๋ค. ์ด์์ฒด์ ์ Shell์ ์ด์ฉํ์ฌ ์์ฐจ์ ์ผ๋ก ์ฝ์ผ๋ฉด์ ๋ช ๋ น์ด๋ค์ ์คํ์์ผ์ฃผ๋ ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์์
velog.io
https://kim6394.tistory.com/268
[AWS] ์คํ๋ง ๋ถํธ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ ์์ฑ
[AWS] ์คํ๋ง ๋ถํธ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ ์์ฑ AWS์์ ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํ๋ ๊ณผ์ ์ ํ๋ก์ ํธ๊ฐ ์์ ํ ๋๋ง๋ค ๋๊ฐ์ ์ผ์ ๋ฐ๋ณตํด์ผํ๋ค. ํ๋ก์ ํธ ๋ฐฐํฌ ๊ณผ์ git pull๋ก ํ๋ก์ ํธ ์ ๋ฐ์ดํธ gradle ํ๋ก์ ํธ
kim6394.tistory.com
2. EC2 ๋ด log_back.sh ์์ฑ
ec2์ ์ ์ํํ, log_back.sh ํ์ผ์ ์์ฑํ๋ค.
vi log_back.sh
ํด๋น ์ ์คํฌ๋ฆฝํธ ํ์ผ์์ ์๋์ ๋ด์ฉ์ ์ถ๊ฐํ์ฌ ec2๋ด์ ์๋ app_log์ err_log๋ฅผ zip ํ์ผ๋ก ๋ง๋ ํ s3 ๋ก ๋ณต์ฌํํ, app_log์ err_log ๋ด์ฉ์ clear ํ ๊ฒ์ด๋ค.
#!/bin/bash
# ํ์ฌ ๋ ์ง
DATE=$(date +"%Y%m%d")
# ์๋ก์ด ํ์ผ ์ด๋ฆ ์ค์
APP_LOG="applog-$DATE.zip"
ERR_LOG="errlog-$DATE.zip"
# zip -r ์๋ก์ด_ํ์ผ_๊ฒฝ๋ก ์์ถํ _ํ์ผ_๊ฒฝ๋ก
zip -r ~/applog/$APP_LOG ~/applog/applog.log
zip -r ~/applog/$ERR_LOG ~/applog/errlog.log
#s3 ๋ฒํท์ผ๋ก ๋ณต์ฌํ๊ธฐ
#aws s3 cp ์
๋ก๋ํ _ํ์ผ_๊ฒฝ๋ก s3://์
๋ก๋ํ ๋ฒํท ์ด๋ฆ/๊ฒฝ๋ก
aws s3 cp ~/applog/$APP_LOG s3://S3๋ฒํท์ด๋ฆ/applog/$APP_LOG
aws s3 cp ~/applog/$ERR_LOG s3://S3๋ฒํท์ด๋ฆ/errlog/$ERR_LOG
#๋ก๊ทธ ํ์ผ ํด๋ฆฌ์ด
clear ~/applog/applog.log
clear ~/applog/errlog.log
3. ํฌ๋ก ์ค์
crontab -e
ํฌ๋ก ํญ์ ์ค์ ํ ์ ์๋ ์ฅ์๋ก ๊ฐ๋ค.
0 0 * * * bash /home/ubuntu/log_back.sh > /home/ubuntu/log_back_log.log 2>&1
ํด๋น ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค.
ํ์๋ ๋งค์ผ ์ค์ 12์์ log_backup.sh๋ฅผ ์คํ, ํด๋น ์ ์คํฌ๋ฆฝํธ์ ์คํ ๊ฒฐ๊ณผ ๋ก๊ทธ๋ฅผ log_back_log.log์ ์ ์ ๋ก๊ทธ์ ์๋ฌ ๋ก๊ทธ ๋ชจ๋ ์ ์ฅํ๊ฒ ํ๋ค.
crontab -l
crontab ์ค์ ํ์ธํ๊ธฐ
S3์ ๊ฐ์ ์ ์คํ๋๋์ง ํ์ธํด๋ณด๋ฉด
applog, errlog ๋ชจ๋ ๋ ์ง ํ์์ ๋ง๊ฒ zip ํ์ผ๋ก ์ ์ ์ฅ๋์๋ค!!
์ฌ๋ฐ์์ง๋ง ์ด๋ ค์๋ค..
ํด...^^
๋!
์ฐธ๊ณ
https://hee611.tistory.com/50
https://vanillacreamdonut.tistory.com/367
https://jojoldu.tistory.com/472
[Linux] log ํ์ผ s3 ์ ๋ก๋ ์ค์ผ์ค๋ง ์ค์ ํ๊ธฐ (feat. crontab)
๐ซฅ ๊ฐ์ ๋์์ ๋ฐฑ์๋, ํ๋ก ํธ๊ฐ ๊ฐ๋ฐ์๋ฒ์ ๋ฐฐํฌ๋ฅผ ํ์๊ณ , github actions์๋ ๋ฉ์ฉกํ ์ด๋ก์ ๋ถ์ด ๋ ์ ์๋ฒ์๋ ๋ฐฐํฌ๊ฐ ์๋์ค ์์๋ค. ๊ทผ๋ฐ ์์ง ํด๊ฒฐ์ด ๋์ง ์์ ์ฅ?ํ๊ณ codedeploy๋ฅผ ๋ดค๋๋
vanillacreamdonut.tistory.com
CronTab ์ ์ฌ์ฉํด Shell Script ์คํ
์งํOS KT Cloud ์ฌ์ฉ ์ค๋น๋ฌผ 1. ์๋ฒ 1๋ 2. MySQL ์ค์น ํ๊ฒฝ ใดํ ์คํธ๋ฅผ ์ํด ํ๋ ์ด์์ Database๊ฐ ํ์ํฉ๋๋ค. (ํฌ์คํ ์์๋ DB Dump ๋ฐฑ์ ์ ์์๋ก ์งํํ์์ต๋๋ค. / DB Dump ๋ฐฑ์ ์ด ์๋๋ผ๋ฉด, DB๊ฐ ๊ตณ
hee611.tistory.com
Linux์์ crontab ์คํ์ ๋ช ๋ น์ด ์ฐพ์ง ๋ชปํ ๋
crontab์ ๊ธฐ๋ณธ PATH๋ /usr/bin ๋ฐ์ ์์ต๋๋ค. ์ฆ, /usr/local/bin ๋ฑ ๋ค๋ฅธ ๊ฒฝ๋ก์ ์๋ command์ ๋ํด์๋ crontab ์ด ์ธ์ํ์ง ๋ชปํ๋๋ฐ์. ๋ง์ฝ aws cli๋ฅผ pip๋ก ์ค์นํ๋ค๋ฉด ๊ทธ ๊ฒฝ๋ก๋ /usr/local/bin/aws๊ฐ ๋๊ธฐ
jojoldu.tistory.com
'๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป > ๐๐๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AWS] Private Subnet ๋ด๋ถ EC2 ์ MySQL ๋ง๋ค๊ณ SSH ํฐ๋๋ง์ ํตํด ๋ก์ปฌ์์ MySQL ์ ์ํ๊ธฐ (2) | 2024.03.06 |
---|---|
[AWS] AWS Certified Solutions Architect Associate(SAA-C03) ๋ค๋ฆ์ ์ทจ๋ ํ๊ธฐ (1) | 2024.03.04 |
[AWS] ELB, EFS (0) | 2023.07.24 |
[AWS] EC2, EBS, AMI, Autoscaling (0) | 2023.07.23 |
[AWS] ํด๋ผ์ฐ๋, AWS, IAM (0) | 2023.07.21 |