라벨이 리눅스인 게시물 표시

리눅스에서 사용자 계정 생성 및 초기 설정 자동화하기

이미지
리눅스 서버를 관리하다 보면 새로운 사용자 계정을 생성하고 설정해야 하는 경우가 자주 있습니다. 이러한 작업을 자동화하면 시간과 노력을 절약할 수 있습니다. 이번 포스팅에서는 리눅스에서 사용자 계정을 자동으로 생성하고, 기본 설정을 하는 스크립트를 작성해 보겠습니다. 이 스크립트를 통해 사용자 계정 생성과 초기 설정을 손쉽게 자동화할 수 있습니다. 서론 서버 관리자는 새로운 사용자가 필요할 때마다 계정을 생성하고 권한을 설정하는 작업을 반복하게 됩니다. 이러한 작업은 매우 중요하지만, 수동으로 하다 보면 실수할 수 있고 시간이 많이 걸릴 수 있습니다. 그래서 이번 포스팅에서는 사용자 계정을 자동으로 생성하고 필요한 설정을 한 번에 할 수 있는 스크립트를 소개하겠습니다. 본론 스크립트 작성하기 이 스크립트는 새로운 사용자 계정을 생성하고, 홈 디렉토리를 생성하며, 초기 설정을 수행하도록 설계되었습니다. user_setup.sh라는 파일명으로 작성하겠습니다. 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 29 30 31 32 33 #!/bin/bash   # 새로운 사용자 계정 생성 스크립트   # 사용자 이름과 비밀번호 설정 USER_NAME = $1 USER_PASSWORD = $2   # 홈 디렉토리 설정 USER_HOME = "/home/$USER_NAME"   # 사용자 계정 생성 sudo useradd  - m  - d $USER_HOME  - s  / bin / bash $USER_NAME   # 사용자 비밀번호 설정 echo   "$USER_NAME:$USER_PASSWORD"   |  sudo chpasswd   # 사용자 홈 디렉토리에 기본 설정 파일 복사 sudo cp  / etc / skel / .bashrc $USER_HOME / sudo cp  / etc / skel / .profile $USER_HOME /   # 

리눅스에서 아파치 웹 서버 로그 파일 자동 압축 및 백업하기

이미지
리눅스 서버를 운영하면서 로그 파일을 관리하는 것은 매우 중요한 작업입니다. 특히 웹 서버의 로그 파일은 시간이 지남에 따라 용량이 커질 수 있으며, 이를 주기적으로 압축하고 백업하는 작업이 필요합니다. 이번 포스팅에서는 아파치(Apache) 웹 서버의 로그 파일을 자동으로 압축하고 백업하는 스크립트를 작성해 보겠습니다. 이 스크립트를 통해 로그 파일 관리를 자동화하면 서버의 디스크 용량을 효율적으로 사용할 수 있습니다. 서론 웹 서버 로그 파일은 서버의 운영 상태를 모니터링하고 문제를 분석하는 데 중요한 역할을 합니다. 하지만 이러한 로그 파일은 매일 생성되고, 오래된 로그 파일을 그대로 두면 서버의 디스크 용량을 차지하게 됩니다. 이를 해결하기 위해 로그 파일을 주기적으로 압축하고 백업하는 작업이 필요합니다. 이번 포스팅에서는 아파치 웹 서버 로그 파일을 자동으로 압축하고 백업하는 스크립트를 소개하겠습니다. 본론 스크립트 작성하기 로그 파일을 압축하고 백업하는 스크립트를 작성해 보겠습니다. 이 스크립트는 매일 생성되는 로그 파일을 압축하고, 백업 디렉토리에 저장하도록 설계되었습니다. log_backup.sh라는 파일명으로 작성하겠습니다. 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 #!/bin/bash   # 아파치 로그 파일 경로 설정 LOG_DIR = "/var/log/apache2" BACKUP_DIR = "/path/to/backup/directory" DATE = $(date  + \%Y - \%m - \%d)   # 압축 파일명 설정 LOG_ARCHIVE = "apache-logs-$DATE.tar.gz"   # 백업 디렉토리가 존재하지 않으면 생성 if  [  !   - d  "$BACKUP_DIR"  ];  then   mkdir  - p  "$BACKUP_DIR"

리눅스 파일 검색: find 명령어 활용법

이미지
서론 "100개의 파일이 있는 폴더에서 특정 확장자를 가진 파일을 모두 찾으려면 어떻게 해야 할까요? 리눅스에서 이 문제를 해결하기 위해 find 명령어를 사용하면 됩니다. 오늘은 find 명령어의 강력한 기능과 사용법에 대해 알아보겠습니다." 본론 find 명령어 소개 find 명령어는 리눅스에서 파일을 검색하는 데 사용되는 강력한 도구입니다. 이 명령어를 사용하면 특정 디렉토리에서 파일 이름, 파일 유형, 수정 시간 등을 기준으로 파일을 검색할 수 있습니다. 기본 사용법 find 명령어의 기본 구문은 다음과 같습니다. 1 find [검색할 디렉토리] [검색 조건] [실행할 작업] cs 예제 특정 디렉토리에서 모든 파일 찾기 1 find /path/to/directory cs 특정 확장자를 가진 파일 찾기 1 find /path/to/directory -name "*.txt" cs 이 명령어는 /path/to/directory 디렉토리에서 .txt 확장자를 가진 모든 파일을 찾습니다. 특정 크기 이상의 파일 찾기 1 find /path/to/directory -size +100M cs 이 명령어는 100MB 이상의 파일을 찾습니다. 특정 시간 이후에 수정된 파일 찾기 1 find /path/to/directory -mtime -7 cs 이 명령어는 지난 7일 이내에 수정된 파일을 찾습니다. 찾은 파일 삭제하기 1 find  / path / to / directory  - name  "*.log"   - exec  rm  - f {} \; cs 이 명령어는 .log 파일을 찾고, 찾은 파일들을 삭제합니다. 고급 사용법 find 명령어는 다양한 조건과 옵션을 결합하여 매우 세부적인 검색을 수행할 수 있습니다. AND 조건 사용하기 1 find /path/to/directory -name "*.txt" -a -size +1M cs 이 명령어는 1MB 이상의 .txt 파일을 찾습니다. OR 조건

쉘 스크립트를 이용한 MySQL 백업 자동화 가이드

이미지
서론 데이터베이스는 모든 비즈니스와 서비스의 핵심 자산입니다. 중요한 데이터는 정기적으로 백업하여 데이터 손실에 대비하는 것이 필수적입니다. 여러분도 혹시 데이터베이스 백업 작업을 수작업으로 진행하시나요? 그렇다면, 자동화 스크립트를 사용하여 백업 작업을 간편하게 관리할 수 있습니다. 오늘은 리눅스에서 자동화 스크립트를 활용해 MySQL 데이터베이스 백업을 설정하는 방법에 대해 알아보겠습니다. 본론 1. 준비 사항 자동화 스크립트를 작성하기 전에 다음 사항을 준비해야 합니다. MySQL이 설치된 서버 (CentOS 또는 Ubuntu) 백업을 저장할 디렉토리 (예: /backups) MySQL 사용자 계정과 비밀번호 2. 스크립트 작성 아래는 MySQL 데이터베이스를 백업하는 쉘 스크립트 예제입니다. 이 스크립트는 지정된 디렉토리에 백업 파일을 생성합니다. 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 #!/bin/bash   # 변수 설정 BACKUP_DIR = "/backups" MYSQL_USER = "your_mysql_user" MYSQL_PASSWORD = "your_mysql_password" DATABASE_NAME = "your_database_name"   # 현재 날짜와 시간을 변수에 저장 DATE = $(date  + "%Y%m%d%H%M" )   # 백업 파일 이름 설정 BACKUP_FILE = "$BACKUP_DIR/$DATABASE_NAME-$DATE.sql"   # 백업 디렉토리 존재 여부 확인 및 생성 if  [  !   - d  "$BACKUP_DIR"  ];  then     mkdir  - p  "$BACKUP_DIR" fi   # MySQL 데이터베이스 백업 실행 mysqldump  - u $MYS

리눅스에서 가장 큰 파일을 찾는 방법: find와 sort 명령어 활용하기

이미지
서론 여러분은 리눅스 시스템에서 수많은 파일과 디렉토리를 관리할 때 종종 "이 폴더 내에서 가장 큰 파일이 무엇일까?"라는 궁금증을 가지곤 하시나요? 파일 시스템을 효율적으로 관리하려면 이런 질문에 빠르게 답할 수 있어야 합니다. 오늘은 리눅스의 find와 sort 명령어를 사용하여 디렉토리 내에서 가장 큰 파일을 쉽게 찾는 방법에 대해 알아보겠습니다. 이 두 명령어를 어떻게 활용해야 할지, 저와 함께 자세히 살펴보실까요? 본론 1. find 명령어의 기본 사용법 find 명령어는 리눅스에서 파일이나 디렉토리를 검색할 때 사용됩니다. 사용법은 다음과 같습니다. find [경로] [옵션] [표현식] 이 명령어를 사용해 특정 조건을 만족하는 파일이나 디렉토리를 찾을 수 있습니다. 2. 파일 크기로 파일 찾기 가장 큰 파일을 찾으려면 find 명령어로 파일 크기를 기준으로 검색할 수 있습니다. 예를 들어, 현재 디렉토리에서 100MB 이상의 파일을 찾으려면 find . -type f -size +100M 이 명령어를 사용하면 됩니다. 3. sort 명령어로 파일 정렬 find 명령어로 찾은 파일 목록을 크기에 따라 정렬하려면 sort 명령어를 사용할 수 있습니다. 파일 크기별로 정렬하는 방법은 다음과 같습니다. find . -type f -exec ls -lh {} + | sort -k 5 -h 여기서 -k 5는 출력된 리스트의 다섯 번째 필드(파일 크기)를 기준으로 정렬하라는 의미입니다. 결론 리눅스 시스템에서 find와 sort 명령어를 조합하면 파일 관리가 훨씬 수월해집니다. 특히, 대용량 파일을 다룰 때 이 방법을 사용하면 시스템의 공간을 효율적으로 사용하고 관리하는 데 큰 도움이 됩니다. 실제 업무 환경에서 이러한 명령어 활용법을 익혀 두면, 리눅스 시스템 관리자로서 더욱 능숙하게 문제를 해결할 수 있을 것입니다.
이미지
서론 IT 산업에서 리눅스는 그 중요성이 날로 증가하고 있으며, 이러한 추세 속에서 삼성전자와 리눅스 분야의 선두주자인 레드햇 간의 협력은 주목할 만한 사건입니다. 이들의 협력은 단순한 기술적 진보를 넘어, 두 거대 기업이 어떻게 서로의 강점을 결합하여 새로운 가능성을 창출할 수 있는지 보여줍니다. 삼성전자의 하드웨어 기술과 레드햇의 소프트웨어 역량이 만나면서, 리눅스 기반의 기술 발전은 새로운 단계로 접어들고 있습니다. 이러한 협력은 리눅스와 관련된 전문가들 뿐만 아니라, 전반적인 IT 산업에도 중요한 영향을 미치고 있습니다. 본론 본론에서는 삼성전자와 레드햇의 협력의 배경과 목표, 그리고 그 결과와 기술적 세부사항에 대해 알아보겠습니다. 또한, 이들의 협력이 IT 산업에 미치는 영향을 분석하고, 리눅스 기반 기술의 미래에 대해 알아보도록 하겠습니다. 협력의 배경과 목표 삼성전자와 레드햇의 협력은 기업용 리눅스 시장에서의 선두 자리를 공고히 하기 위한 전략적 움직임입니다. 특히, 차세대 메모리 분야에서의 소프트웨어 기술 혁신이 중요한 목표였습니다. CXL 메모리 동작 검증의 성공 삼성전자는 레드햇과의 협력을 통해 CXL 메모리 동작을 검증하는 데 성공했습니다. 이는 데이터센터 고객들이 별도의 소프트웨어 변경 없이 삼성 CXL 메모리를 사용할 수 있게 하는 중요한 발전입니다. 기술적 세부사항 삼성전자는 기업용 리눅스 OS인 '레드햇 엔터프라이즈 리눅스(RHEL 9.3)'에 CXL 메모리를 최적화했습니다. 이를 통해 가상 머신(Red Hat KVM)과 컨테이너 환경(Red Hat Podman)에서 메모리 인식, 읽기, 쓰기 등의 동작을 효율적으로 검증할 수 있었습니다​​. <Red Hat Server - 이미지출처 : news.samsung.com> 결론 삼성전자와 레드햇의 이번 협력은 리눅스 기반 기술과 데이터센터의 미래에 중대한 영향을 미칠 것입니다. 이러한 협력은 기술 혁신의 새로운 장을 여는 동시에, 기업용 소프트웨어 분야에서의

htop으로 시스템 자원 모니터링하기 - 설치부터 사용법까지

이미지
htop를 이용한 시스템모니터링 (ubuntu 기준) htop은 리눅스에서 시스템의 CPU, 메모리, 스왑, 프로세스 등의 자원 사용량을 쉽고 빠르게 확인할 수 있는 터미널 기반의 프로그램입니다. 윈도우의 작업관리자와 비슷한 역할을 하지만, 더 다양하고 상세한 정보를 제공하며, 키보드 단축키를 통해 프로세스를 관리할 수 있습니다. 이번 포스팅에서는 ubuntu에서 htop을 설치하고 사용하는 방법에 대해 알아보겠습니다. htop 설치하기 ubuntu에서 htop을 설치하기 위해서는 먼저 터미널을 열어서 시스템을 업데이트하고 업그레이드 해야 합니다. 이는 시스템의 안정성과 호환성을 유지하기 위한 필수적인 과정입니다. 다음과 같은 명령어를 입력해주세요. 1 sudo apt update  & &  sudo apt upgrade cs 업데이트와 업그레이드가 완료되면, 다음과 같은 명령어로 htop을 설치할 수 있습니다. 1 sudo apt install htop cs 설치가 완료되면, 터미널에서 htop이라고 입력하면 htop이 실행됩니다. htop 사용하기 htop을 실행하면 다음과 같은 화면이 나타납니다. 화면 상단에는 시스템의 CPU, 메모리, 스왑 등의 자원 사용량을 그래프 형태로 보여줍니다. CPU가 여러 개일 경우에는 각각의 사용률을 확인할 수 있습니다. 오른쪽에는 프로세스의 개수와 상태, 로드 평균 등의 정보를 보여줍니다. 화면 중간에는 각각의 프로세스에 대한 정보를 보여줍니다. PID, USER, PR, NI, VIRT, RES, SHR, S, %CPU, %MEM, TIME+, COMMAND 등의 컬럼으로 구성되어 있으며, 각각의 의미는 다음과 같습니다. htop 실행화면 PID: 프로세스의 ID 번호 USER: 프로세스의 소유자 PR: 프로세스의 우선순위 NI: 우선순위에 영향을 주는 프로세스의 nice 값 VIRT: 프로세스가 사용중인 가상 메모리 양 RES: 프로세스가 사용중인 물리 RAM의 양 SHR: 프로세스가 사용중인 공유 메모

Quota로 디스크 사용량을 제어하는 방법

Quota란 무엇인가? 기본설정과 사용방법에 대한 설명 Quota는 사용자나 그룹이 가질 수 있는 파일의 수나 디스크의 용량을 제한하는 기능입니다. 예를 들어, A라는 파일시스템에 B라는 사용자의 사용량을 100GB로 제한하고 싶다면 Quota를 사용할 수 있습니다. Quota는 시스템의 디스크 공간을 효율적으로 관리하고, 사용자나 그룹의 디스크 낭비를 방지할 수 있습니다. Quota의 종류 Quota에는 두 가지 종류가 있습니다. User Quota: 사용자별로 디스크 사용량을 제한하는 Quota입니다. usrquota라고도 합니다. Group Quota: 그룹별로 디스크 사용량을 제한하는 Quota입니다. grpquota라고도 합니다. Quota를 적용하려면, 해당 파일시스템이 Quota를 지원해야 하며, fstab 파일에 Quota 옵션을 추가해야 합니다. Quota의 용어 Quota를 설정하거나 확인할 때, 다음과 같은 용어들을 알아야 합니다. Block: 디스크의 블록 단위입니다. 보통 1KB로 계산됩니다. Inode: 파일의 메타데이터를 저장하는 구조체입니다. 파일의 수를 나타냅니다. Soft Limit: 경고를 주는 제한치입니다. 이 제한치를 넘으면 grace period라는 유예기간이 주어지며, 이 기간 안에 사용량을 줄여야 합니다. Hard Limit: 절대적인 제한치입니다. 이 제한치를 넘으면 더 이상 파일을 생성하거나 쓸 수 없습니다. Grace Period: Soft Limit을 넘었을 때 주어지는 유예기간입니다. 보통 7일로 설정됩니다. Quota의 설정 방법 Quota를 설정하는 방법은 다음과 같습니다. 1. fstab 파일에 해당 파일시스템의 Quota 옵션을 추가합니다. 예를 들어, /data001이라는 파일시스템에 User Quota와 Group Quota를 적용하려면, 다음과 같이 수정합니다. 1 /dev/mapper/F3170_786_vg001-data001 /data001 ext3 defaults,usrquota,grpquo