Linux Shell Script examples


여러 가지 유용한 Linux 셸 스크립트 예제를 몇 가지 소개하겠습니다. 이 예제들은 파일 및 디렉토리 관리, 시스템 모니터링, 백업 등 다양한 작업을 자동화하는 데 도움이 될 수 있습니다.

1. 파일 및 디렉토리 관리

파일 목록 출력 및 크기 확인

이 스크립트는 지정된 디렉토리의 파일 목록을 출력하고 각 파일의 크기를 확인합니다.

#!/bin/bash

dir_path="/path/to/directory"

# 디렉토리 내 파일 목록 출력
echo "Files in $dir_path:"
ls $dir_path

# 각 파일의 크기 확인
echo "File sizes:"
for file in $dir_path/*; do
    if [ -f "$file" ]; then
        echo "$(basename $file): $(du -sh $file | cut -f1)"
    fi
done

파일 백업

특정 디렉토리의 파일을 백업하는 스크립트입니다.

#!/bin/bash

backup_dir="/path/to/backup_directory"
source_dir="/path/to/source_directory"

# 백업 디렉토리 확인 및 생성
if [ ! -d "$backup_dir" ]; then
    mkdir -p $backup_dir
fi

# 파일 백업
cp -r $source_dir/* $backup_dir
echo "Backup completed."

2. 시스템 모니터링 및 리포팅

시스템 리소스 모니터링

현재 시스템의 CPU 사용량과 메모리 사용량을 모니터링하는 스크립트입니다.

#!/bin/bash

echo "CPU usage:"
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'

echo "Memory usage:"
free -m | awk 'NR==2{printf "Used: %s MB (%.2f%%)\n", $3,$3*100/$2 }'

로그 파일 분석 및 리포팅

로그 파일에서 특정 패턴을 찾아 리포트하는 스크립트입니다.

#!/bin/bash

log_file="/var/log/syslog"
search_pattern="error"

echo "Error log report:"
grep -i "$search_pattern" $log_file | tail -n 10

3. 시스템 유지 관리

패키지 업데이트 검사 및 자동 업데이트

시스템의 패키지 업데이트를 자동으로 검사하고 필요한 경우 업데이트를 수행하는 스크립트입니다.

#!/bin/bash

echo "Checking for package updates..."
sudo apt update -qy

# 업데이트 가능한 패키지 목록 확인
updates=$(apt list --upgradable 2>/dev/null | grep -v 'Listing...')

if [ -n "$updates" ]; then
    echo "Available updates:"
    echo "$updates"
    echo "Updating packages..."
    sudo apt upgrade -qy
    echo "Update completed."
else
    echo "No updates available."
fi

4. 사용자 관리

사용자 목록과 홈 디렉토리 크기 확인

시스템의 모든 사용자의 홈 디렉토리 크기를 확인하는 스크립트입니다.

#!/bin/bash

echo "Home directory sizes:"

for user in $(ls /home); do
    home_size=$(du -sh /home/$user | cut -f1)
    echo "User: $user, Home directory size: $home_size"
done

실행 방법

각 예제는 스크립트 파일로 저장하고, 실행 권한을 부여한 후 실행할 수 있습니다.

  1. 스크립트 파일 생성 및 편집:
   nano script_name.sh
  1. 스크립트 내용 복사 및 붙여넣기 후 저장 (Ctrl + X, Y, Enter).
  2. 실행 권한 부여:
   chmod +x script_name.sh
  1. 스크립트 실행:
   ./script_name.sh

이 예제들은 각각 파일 관리, 시스템 모니터링, 패키지 관리 등 다양한 시나리오에 적용될 수 있으며, 필요에 따라 스크립트를 수정하여 자신의 환경에 맞게 확장할 수 있습니다.


Leave a Reply

Your email address will not be published. Required fields are marked *