리눅스 서버 자동화 기초: Bash Shell Script로 반복 작업 줄이기
리눅스 시스템을 관리하거나 개발 환경을 구축할 때 매번 동일한 명령어를 입력하는 것은 번거롭고 실수할 확률을 높입니다. Bash Shell Script(쉘 스크립트)를 활용하면 반복적인 작업(백업, 시스템 점검, 로그 정리 등)을 자동화하여 작업 효율성을 크게 높일 수 있습니다. 본 글에서는 초보자도 쉽게 따라 할 수 있는 Bash Shell Script 작성 및 실행 기초 방법을 안내합니다.
1. Bash Shell Script란 무엇인가?

Bash Shell Script는 리눅스 및 유닉스 환경에서 명령어들을 하나의 파일로 묶어 연속적으로 실행하도록 만드는 프로그램입니다.
- 생산성 향상: 여러 단계의 시스템 관리 명령어를 단 하나의 실행 명령으로 처리합니다.
- 휴먼 에러 방지: 오타나 단계 누락 등 사람이 수동으로 명령어를 입력할 때 발생하는 실수를 줄입니다.
- 주요 활용 분야: 서버 백업, 로그 주기적 삭제, 서비스 상태 체크, 자동 패키지 설치 등.
2. Shell Script 기본 구조와 작성 방법
스크립트 파일은 보통 .sh 확장자로 생성하며, 맨 첫 줄에는 Shebang(#!/bin/bash)을 선언해 어떤 쉘 해석기로 실행할지 명시해야 합니다.
(1) 스크립트 파일 생성
가장 먼저 nano나 vi 에디터를 사용해 스크립트 파일을 생성합니다.
nano auto_setup.sh
(2) 기초 코드 작성 예시
아래 코드는 시스템 업데이트와 현재 서버 메모리 상태를 출력하는 간단한 스크립트 예시입니다.
#!/bin/bash
# 작성자: Server Admin
# 설명: 시스템 업데이트 및 메모리 상태 출력 스크립트
echo "========================================="
echo " 시스템 업데이트를 시작합니다."
echo "========================================="
# 패키지 목록 업데이트 (Debian/Ubuntu 기준)
sudo apt update -y
echo "========================================="
echo " 메모리 사용량을 확인합니다."
echo "========================================="
# 메모리 상태 출력
free -h
echo "모든 작업이 완료되었습니다!"
3. 스크립트 실행 권한 부여 및 실행
리눅스에서는 새로 만든 파일에 실행 권한이 기본적으로 부여되지 않습니다. 실행 권한을 추가한 후 스크립트를 작동시켜야 합니다.
(1) 실행 권한 추가 (chmod)
chmod +x 명령어를 통해 실행 권한을 부여합니다.
chmod +x auto_setup.sh
(2) 스크립트 실행하기
파일명 앞에 ./를 붙여 현재 디렉토리의 스크립트를 실행합니다.
./auto_setup.sh
4. Cron을 활용한 반복 작업 완전 자동화
Bash 스크립트를 만든 후 리눅스의 작업 예약 도구인 Cron(크론)에 등록하면 지정한 시간에 자동으로 스크립트가 실행되도록 설정할 수 있습니다.
- 크론탭 편집기 열기:
-
Bash
crontab -e - 매일 새벽 3시에 스크립트 자동 실행 설정 예시:
-
Plaintext
0 3 * * * /home/user/auto_setup.sh > /home/user/setup.log 2>&1
Bash Shell Script 기초를 익히면 반복 업무에 소요되는 시간을 획기적으로 줄일 수 있습니다. 자주 사용하는 명령어부터 하나씩 스크립트로 문서화하여 나만의 서버 관리 자동화 체계를 구축해 보세요.