본문 바로가기

리눅스

C276x260.fwebp.q85 [draft] MySQL Replication을 설정하는 방법 MySQL Replication을 설정하는 방법MySQL Replication은 하나의 Master 서버에서 발생하는 데이터 변경 사항을 Slave 서버로 자동 복제하는 기능이다. 이 기능을 통해 다음과 같은 효과를 얻을 수 있다.데이터 안정성 향상읽기 부하 분산(Read Scaling)백업 서버 구성데이터 분석 서버 분리기본 구조Master (Write) │ │ Binary Log ▼Slave (Read / Replication)Master 서버에서 발생한 데이터 변경 사항이 Binary Log에 기록되고 Slave 서버는 이를 읽어 Relay Log에 저장한 후 데이터를 동기화한다.테스트 환경서버 역할IPserver-idMaster192.168.10.101Slave192.168.10.112.. 더보기
C276x260.fwebp.q85 [draft] 리눅스에서 MySQL Binary 파일을 이용하여 MySQL 서버를 수동 설치하는 방법 리눅스에서 MySQL Binary 파일을 이용하여 MySQL 서버를 수동 설치하는 방법Linux에서 MySQL Binary Tar 파일을 이용하여 MySQL 서버를 수동 설치하는 방법입니다.1. MySQL 다운로드MySQL 공식 웹사이트 (https://dev.mysql.com/downloads/mysql/)에서 해당 버전의 tar 파일을 다운로드합니다.작업 디렉토리로 이동cd /usr/local/srcmysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz설치 디렉토리 생성MySQL을 설치할 디렉토리를 생성합니다.sudo mkdir -p /usr/local/mysqltar 파일 압축 해제sudo tar xvf mysql-*.tar -C /usr/local/mysql --strip-c.. 더보기
C276x260.fwebp.q85 [draft] Python 로또 번호 생성기 -2 Python 로또 번호 생성기 -2Python 코드vim generate_lotto_numbers.pyimport random# 로또 번호 생성 함수def generate_lotto_numbers(): numbers = [] while len(numbers) 실행 권한 부여chmod +x generate_lotto_numbers.py프로그램 실행python generate_lotto_numbers.py또는./generate_lotto_numbers.py실행기본값 사용$ python generate_lotto_numbers.py로또 번호를 몇 개 출력하시겠습니까? (기본값: 3)[3, 7, 14, 22, 34, 41][2, 5, 11, 19, 28, 37][6, 12, 18, 23, 31, 45.. 더보기
C276x260.fwebp.q85 [draft] Python 로또 번호 생성기 Python 로또 번호 생성기Python 코드import random### 로또 번호 생성def lotto_numbers(): numbers = random.sample(range(1, 46), 6) numbers.sort() print(numbers)### 로또 시행 횟수def lotto_count(): count = int(input("시행 횟수 : ")) print("#" * 30) if 0 range(stop) -> range object range(start, stop[, step])range() : 시작(포함), 끝(제외), step(옵션)ex) range(1, 46), 6 = 시작(1), 끝(45)프로그램 실행$ python lotto_v1.py시행 횟수 : .. 더보기
C276x260.fwebp.q85 [draft] Docker 자원 관리 Docker 자원 관리(컨테이너, 이미지, 볼륨, 네트워크 정리하기)Docker를 장기간 운영하면 다음과 같은 리소스가 계속 누적됩니다.중지된 컨테이너사용하지 않는 이미지연결되지 않은 볼륨사용되지 않는 네트워크이러한 리소스가 쌓이면 디스크 공간 부족, 성능 저하, 관리 복잡도 증가 문제가 발생할 수 있습니다.따라서 주기적으로 Docker 리소스를 정리하여 시스템 자원을 효율적으로 관리하는 것이 중요합니다.1. 컨테이너 관리컨테이너 중지특정 컨테이너를 중지합니다.docker container stop [컨테이너ID 또는 이름]docker container stop node-app컨테이너 삭제중지된 컨테이너를 삭제합니다.docker container rm [컨테이너ID 또는 이름]docker containe.. 더보기
C276x260.fwebp.q85 [draft] docker commit 명령어 docker commit 명령어docker commit 명령어는 실행 중이거나 중지된 컨테이너의 변경 사항을 새로운 Docker 이미지로 생성할 때 사용하는 명령어입니다.1. 기본 사용법docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]CONTAINER : 이미지로 저장할 컨테이너 이름 또는 IDREPOSITORY : 생성할 이미지 이름TAG : 이미지 버전 태그주요 옵션docker commit --help 명령으로 확인할 수 있습니다.$ docker commit --helpUsage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]Create a new image from a container's changesO.. 더보기
C276x260.fwebp.q85 [draft] 우분투에서 cron 작업 로그를 별도의 파일로 분리하는 방법 우분투에서 cron 작업 로그를 별도의 파일로 분리하는 방법기본적으로 우분투에서는 cron 작업 로그가 /var/log/syslog 파일에 함께 기록됩니다. 운영 환경에서는 cron 로그를 별도의 파일로 분리하면 다음과 같은 장점이 있습니다.cron 작업 로그 관리 용이스케줄 작업 오류 분석 편리로그 모니터링 및 자동화 도구 연동 가능1. rsyslog 설정 변경우분투의 시스템 로그는 rsyslog 서비스가 관리합니다.cron 로그를 별도의 파일로 저장하려면 rsyslog 설정을 수정해야 합니다. 설정 파일sudo vim /etc/rsyslog.d/50-default.conf현재 설정 확인cat /etc/rsyslog.d/50-default.conf더보기---# Default rules for rsys.. 더보기
C276x260.fwebp.q85 [draft] docker inspect 명령어 docker inspect 명령어docker inspect 명령어는 Docker 객체의 상세 정보를 조회할 때 사용하는 명령어입니다.Docker 객체 항목컨테이너(Container)이미지(Image)네트워크(Network)볼륨(Volume)이 명령어는 객체의 구성 정보, 네트워크 설정, 환경 변수, 마운트 정보 등 다양한 세부 정보를 JSON 형식으로 반환합니다.1. 기본 사용 방법기본적으로 docker inspect는 대상 객체의 모든 정보를 JSON 형태로 출력합니다.docker inspect [ { "Id": "f5c9e...", "Created": "2024-01-01T12:00:00Z", "Path": "java", "Args": ["-jar", "app.jar"], .. 더보기