Linux/보안장비 운용

rsync + 날짜별로 백업하기

GGkeeper 2022. 3. 3. 23:54

실습> rsync + 날짜별로 백업하기

-- 조건 --
1. 백업 디렉터리
- /backup/날짜/
           +--- etc
   |
   +--- log
   |
   +--- home
- 날짜: 20220303

2. 스크립트 생성
- rsyncBackup.sh

3. 크론 등록
- 매일 새벽 04:20에 백업한다.
-- 조건 --

백업 디렉터리 초기화
# rm -rf /backup/*

1. 백업 스크립트 생성
/root/bin/rsyncBackup.sh 파일을 생성한다.
# cd
# mkdir bin; cd bin
# install /dev/null rsyncBackup.sh
# vi rsyncBackup.sh
-- rsyncBackup.sh --
#!/bin/sh
# 파일명: rsyncBackup.sh
# 프로그램 설명: rsync 서버 백업 스크립트
# 작성자: 리눅스마스터넷
# 버전: 2022030301

today=$(date +%Y%m%d)
rsyncServer="192.168.101.100"
backupDir="EVER_LOG EVER_ETC HOME"

# 날짜 디렉터리가 존재하지 않으면 생성한다.
if [ ! -d /backup/$today ]; then
    mkdir -m 700 /backup/$today
fi

# rsync server 로 접속해서 백업한다.
for dir in $backupDir
do
   echo ">>> $dir Directory Backup <<<"
   if [ -x /usr/bin/rsync ]; then
       rsync -az $rsyncServer::$dir /backup/$today/$dir
   fi
done
-- rsyncBackup.sh --

# rsyncBackup.sh 
>>> EVER_LOG Directory Backup <<<
>>> EVER_ETC Directory Backup <<<
>>> HOME Directory Backup <<<

# ls -R /backup

2. 크론 등록
시스템 크론 : /etc/crontab
사용자 크론 : crontab -e 
백업을 자동화 하기 위해서 시스템 크론을 설정한다.
# vi /etc/crontab 
-- /etc/crontab --
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
MAILTO=root

20 04 * * * root rsyncBackup.sh
-- /etc/crontab --

3. 시간 변경
시간을 새벽시간으로 변경해서 백업이 잘되는지 테스트한다.
# yum -y install rdate
# rdate -s time.bora.net
2022. 03. 03. (목) 16:52:21 KST

cron 데몬이 동작이 되었는지 확인한다.
# systemctl status crond

3.4 4:18 분으로 시간을 변경한다.
# date 03040418
2022. 03. 04. (금) 04:18:00 KST

4. 로그 모니터링
# tail -f /var/log/cron
  :
  :(생략)
Mar  4 04:20:01 web1 CROND[43850]: (root) CMD (rsyncBackup.sh)

5. 백업 디렉터리 확인
# yum -y install tree
# tree -L 2 /backup
/backup/
├── 20220303
│   ├── EVER_ETC
│   ├── EVER_LOG
│   └── HOME
└── 20220304
    ├── EVER_ETC
    ├── EVER_LOG
    └── HOME

8 directories, 0 files

6. 시간 변경
백업이 잘 되면 원래의 시간으로 변경한다.
# rdate -s time.bora.net
# date
2022. 03. 03. (목) 16:59:56 KST

'Linux > 보안장비 운용' 카테고리의 다른 글

rsync + ssh 백업 테스트  (0) 2022.03.03
rsync 데몬 중지  (0) 2022.03.03
rsync 디렉터리 추가하기  (0) 2022.03.03
rsync server/client 구성하기  (0) 2022.03.03
백업  (1) 2022.03.03