리눅스 백업 방법 총정리 tar rsync cron 사용방법
리눅스 운영 환경에서는 데이터 손실을 방지하기 위한 백업이 필수적입니다. 특히 서버나 업무 시스템에서는 예기치 못한 장애에 대비해 정기적인 백업 체계를 갖추는 것이 중요합니다. 이 글에서는 실무에서 널리 사용되는 tar, rsync, cron을 활용한 백업 방법을 총정리합니다. 초보자도 쉽게 따라할 수 있도록 명령어 설명과 함께 실전 예제도 포함되어 있습니다.
1.백업의 기본 개념
백업(Backup)은 중요한 데이터를 복사해 두는 작업입니다. 리눅스에서는 명령어 기반으로 백업을 자동화하거나 원격지로 전송할 수 있어 다양한 시나리오에 대응할 수 있습니다.
백업의 주요 목적
- 시스템 장애나 삭제 사고에 대비한 데이터 복구
- 업데이트나 패치 전 상태 보존
- 법적 또는 정책적 보관 목적
2. tar 명령어로 백업하기
tar는 파일이나 디렉터리를 하나의 압축 파일로 만들 때 사용하는 명령어입니다. 로그 백업, 설정 파일 저장 등에 적합합니다.
기본 사용법
tar -cvzf backup.tar.gz /home/user
옵션 설명: -c
: 새로운 tar 파일 생성 -v
: 압축 진행 상황 출력 -z
: gzip 압축 사용 -f
: 파일 이름 지정
예제: 설정 파일 백업
tar -cvzf etc_backup_$(date +%F).tar.gz /etc
→ 시스템 설정이 저장된 /etc 디렉터리를 날짜별로 백업합니다.
3. rsync 명령어로 동기화 백업
rsync는 네트워크를 통해 디렉터리를 실시간으로 동기화할 수 있는 강력한 백업 도구입니다. 증분 백업에 적합하며, 원격 서버와의 데이터 복사에도 자주 사용됩니다.
기본 사용법
rsync -av --delete /home/user/ /backup/user/
옵션 설명: -a
: 권한, 소유자, 시간까지 포함하여 백업 -v
: 진행 과정 표시 --delete
: 대상에서 제거된 파일 삭제
예제: 원격 서버에 백업
만약 백업서버 IP 가 83.83.83.83 일경유 백업 설정 방법이다
rsync -avz /home/ root@83.83.83.83:/backup
위 내용은 /home 폴더를 83.83.83.83 서버폴더 안에 /backup 경로에 백업을 하라는 설정이다.
4. cron으로 자동 백업 설정
cron은 특정 시간에 명령을 자동으로 실행할 수 있는 리눅스 스케줄러입니다. tar이나 rsync 백업 명령을 정기적으로 실행하려면cron을 이용하는 것이 효과적입니다.
예제: 매일 자정에 백업 실행
0 0 * * * /home/scripts/backup.sh
→ crontab -e
로 편집하여 위 항목을 추가하면 매일 자정에 backup.sh 스크립트가 실행됩니다. 또한 /tec/crontab 에서 설정이 가능하다
샘플 백업 스크립트
#!/bin/sh
set $(date '+%y %m %d')
rsync -avz /home/ /backup/home_bak/home-$1-$2-$3
위 사진은 home 폴더으이 모든것을 /backup/home_back/ 안에 날짜 입력해서 백업 하는방법이다
위 스크립트를 하루마다 설정 한다면 하루하루 백업이 가능하다
5. 백업 시 주의할 점
- 백업 파일의 무결성을 정기적으로 검증해야 합니다.
- 백업 스토리지의 여유 공간을 확인하세요.
- 암호화 또는 접근 제어로 보안을 강화할 수 있습니다.
- 정기적으로 복구 테스트를 수행하는 것도 중요합니다.
리눅스 환경에서 안정적인 시스템 운영을 위해 백업은 선택이 아닌 필수입니다. tar로 기본 백업을 수행하고, rsync로 증분 및 원격 백업을 설정하며, cron으로 자동화를 구현하면 실무에 맞는 백업 체계를 완성할 수 있습니다.꾸준한 백업과 주기적인 복구 검증을 통해 예상치 못한 사고에 대한 대응력을 높이세요. 실무에서 곧바로 활용 가능한 백업 스크립트를 갖추는 것이 시스템 관리자의 기본 역량입니다.