- 운영 중인 MySQL 테이블이 깨졌을 때 빠르게 복구하는 방법 실제 장애 사례 운영 환경에서 MySQL 테이블이 갑자기 깨지는 문제는 서비스 중단으로 이어질 수 있는 심각한 장애입니다. 이번 글에서는 실제로 운영하던 MySQL 환경에서 gojizone_id 테이블이 손상되며 발생한 장애를 어떻게 진단하고 복구했는지 과정 전체를 정리합니다.로그 내용은251119 15:30:36 [ ERROR] /usr/libexec/mysqld: Table './gojizone_db/gojizone_id' is marked as crashed and last (automatic?) repair failed 에러 관련 내용 정리 1. 장애 발생 – MySQL 로그에서 첫 에러 발견평소처럼 서비스 로그를 점검하던 중, MySQL 에러 로그(/var/log/mysqld.log)에서 다음과 같은 메시지가 .. 2025.11.19
- Fail2ban 설정 가이드 실무 적용과 문제 해결 완벽 정리 이 글은 Fail2ban을 실무 환경에 안전하고 효과적으로 적용하는 방법을 단계별로 설명합니다. 설치, 기본 설정, 필터·액션 커스터마이징, nftables·ipset 연동, 그리고 흔한 문제의 원인과 해결 방법을 구체적 명령어와 함께 제공합니다.1. Fail2ban 개요 및 사용처Fail2ban은 시스템/애플리케이션 로그를 모니터링해 특정 패턴(예: 로그인 실패)이 반복되면 방화벽 규칙으로 해당 IP를 자동 차단합니다. 주로 SSH, 웹로그인, FTP 등 무차별 대입 공격 방어에 사용됩니다.2. 설치 및 서비스 확인# Debian/Ubuntusudo apt update && sudo apt install -y fail2bansudo systemctl enable --now fail2ban# RHEL/C.. 2025.08.11
- 리눅스 grep 명령어 완벽 가이드 문자열 검색부터 정규표현식 활용까지 리눅스에서 가장 많이 사용되는 텍스트 검색 도구 grep 명령어의 모든 것을 정리했습니다. 기본 문법부터 고급 활용까지 단계별로 배워보세요.1. grep 명령어란?grep은 파일이나 입력 스트림에서 특정 문자열 패턴을 찾아 출력하는 명령어입니다. 로그 분석, 설정 파일 검색, 코드 확인 등 리눅스 환경에서 매우 자주 활용됩니다.2. 기본 문법grep [옵션] [패턴] [파일]패턴은 문자열이나 정규표현식을 사용할 수 있으며, 파일 대신 다른 명령어의 출력과도 함께 사용할 수 있습니다.3. 주요 옵션 정리-i : 대소문자 구분하지 않고 검색-v : 지정한 패턴과 일치하지 않는 라인 출력-n : 라인 번호 출력-r : 하위 디렉토리까지 재귀적으로 검색-w : 전체 단어로 검색-l : 파일 이름만 출력-c : .. 2025.09.18
- 리눅스 포트 확인 방법 ss, netstat, lsof 리눅스 서버 운영 중 가장 자주 확인해야 하는 작업 중 하나가 특정 포트가 열려 있는지, 어떤 프로세스가 해당 포트를 사용하고 있는지 파악하는 일입니다. 특히 서비스 접속 오류나 방화벽 문제를 점검할 때 필수적으로 수행됩니다. 이 글에서는 ss, netstat, lsof 명령어를 활용하여 포트 상태를 확인하는 방법을 상세히 다루겠습니다.1. ss 명령어로 포트 확인ss는 최신 리눅스 배포판에서 권장되는 네트워크 상태 확인 도구입니다. 속도가 빠르고 출력이 직관적입니다.열린 포트 전체 확인ss -tuln- -t: TCP 연결- -u: UDP 연결- -l: LISTEN 상태- -n: 도메인 대신 숫자로 출력특정 포트 검색ss -lntp | grep 8080위 명령어는 8080 포트가 열려 있는지와 해당 포트.. 2025.08.18
- 리눅스 쉘(Shell) 완벽 총정리: bash, zsh, ksh, csh, sh, dash 그리고 실전 활용 리눅스 환경에서 쉘(Shell)은 단순한 명령어 인터프리터를 넘어, 자동화와 시스템 관리, 개발 환경 최적화의 핵심 도구로 자리 잡고 있습니다. 이번 글에서는 쉘의 기본 개념부터 주요 종류별 특징, 실전 스크립트 예제, 설정 및 최적화, 고급 활용과 보안까지 총망라하여 자세히 설명합니다.쉘이란 무엇인가?쉘(Shell)은 사용자와 운영체제 커널 사이를 이어주는 텍스트 기반 인터페이스입니다. 사용자가 입력한 명령을 해석하고 실행 결과를 출력하는 역할을 하며, CLI(Command Line Interface) 환경뿐 아니라 스크립트를 통한 자동화의 중심 도구로 활용됩니다. 리눅스 시스템에서는 bash, zsh, ksh, csh, sh, dash 등 다양한 쉘이 사용됩니다.대표적인 쉘 종류와 특징bash (Bo.. 2025.07.12