본문 바로가기

프로젝트 기록/기타5

Linux에서 AWS-CLI 설정하기 AWS CLI 설치설치 명령어curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install upzip이 설치돼있지 않을 경우 아래 명령어를 통해 설치해줍니다.sudo apt install unzip 설치 확인aws --version IAM 계정과 액세스키 만들기aws-cli를 구성하기 전에, IAM 계정과 이에 접근하는 액세스키가 없다면 만들어주어야합니다. 저는 S3에 접근하는게 목적이므로 S3FullAccess 권한을 가진 계정을 하나 만들었습니다.그리고 우측 상단에 "액세스 키 만들기"를 눌러서 액세스 키를 하나 만들어줍니다.  CLI를 위한 계정을 만.. 2024. 12. 12.
Linux 크론(Cron)과 크론탭(Crontab) 리눅스(Linux) 계열에서 특정 시간에 특정 작업을 하는 데몬을 Cron(크론)이라 한다.크론(Cron)이 언제 무엇을 하는지 특정 파일에 저장하는 것을 크론탭(Crontab)이라고 한다.크론(Cron)이라는 데몬이 원하는 시간에 원하는 명령 또는 프로그램을 수행하도록 명령 리스트를 만드는 것이 크론탭이다. 크론탭의 설치sudo apt update -ysudo apt install -y cron 크론탭 기본 사용법// 크론탭 편집crontab -e// 크론탭 작업 내용 확인crontab -l// 크론탭 삭제. 삭제시 전체 작업이 삭제된다.crontab -r crontab -e 명령어를 통해 파일을 열었다면, 아래처럼 을 한줄에 적어주면 된다.크론탭 실행 명령// 크론탭 시작service cron st.. 2024. 12. 12.
[Redis AOF] AOF 설정한 Redis Docker Container 실행하기 Redis는 아무 설정을 하지 않으면 RDB 방식을 따라 데이터가 디스크로 백업된다. 레디스의 데이터 백업 방식에 대한 내용은 아래 포스팅을 참고해주세요.https://onfonf.tistory.com/108 [Redis] Redis 데이터의 영구 저장(RDB, AOF)Redis PersistencyRedis는 인메모리 DB이지만, 데이터를 디스크에 영구 저장 할 수 있는 특징이 있다.그래서 Redis가 restart되더라도 디스크에 저장해놓은 데이터를 다시 읽어서 메모리에 로딩하기 때문onfonf.tistory.com 그러면 AOF(Append Only File) 방식으로 데이터를 백업하려면 어떻게 해야할까?이 글은 Dockerfile을 만들어서 AOF 방식으로 데이터를 백업하는 redis 컨테이너를 .. 2024. 12. 10.
[Docker] Docker Container 안의 파일을 로컬로 이동하기 AWS EC2 안에서 실행되고 있는 docker container 안에 쌓이고 있는 로그 파일을 로컬로 이동시키기 도커 컨테이너에 있는 파일을 EC2로 이동하기우선 aws 펨키를 통해 EC2에 ssh로 접속해줍니다.ssh -i [펨키경로] [사용자이름]@[인스턴스의 ip 또는 퍼블릭 dns] 그리고 아래 명령어를 통해 docker container 안에 접속해줍니다.container id는 docker ps 명령어를 통해 알 수 있습니다.sudo docker exec -it [컨테이너id] sh 이렇게 접속을 했다면, 다운로드하고자 하는 파일의 경로가 어딘지 파악해줍니다저는 /log 안에 다운 받고자 하는 파일이 있습니다. exit 명령어를 통해 컨테이너에서 빠져나오고 아래 명령어로 다운 받을 수 있습니.. 2024. 11. 20.
일급 컬렉션(First Class Collection)에 대해 약 두달전 프로젝트를 하며 아래와 같은 복잡한 정렬 코드를 구현한 적이 있었습니다. // 액션 아이템 모두 뽑아오기 List idList = doneRetrospects.stream().map(Retrospect::getId).toList(); List actionItemList = actionItemRepository.findAllByRetrospectIdIn(idList).stream() .sorted((a, b) -> { if(a.getIsPinned() && b.getIsPinned() && a.getActionItemStatus().equals(b.g.. 2024. 10. 9.