백업:
원본이 손상되거나 잃어버릴 경우를 대비하여 원본 자료를 미리 복사하는 과정.
풀백업: 선택된 폴더의 DATA를 모두 백업하는 방식
증분백업: 선택된 폴더의 Full 백업 이후 변경/추가된 Data만 백업하는 방
차등백업: 선택된 폴더의 Full 백업 이후 변경/추가된 Data를 모두 포함하여 백업하는 방식
(1) 로컬 백업
tar CMD
[참고] 상대경로/절대경로(tar CMD 순수한 영역)
# cd /home
# tar cvzf /backup/home.tar.gz .
# tar tvzf /backup/home.tar.gz
# cd /home
# tar xvzf /backup/home.tar.gz
* 전체 백업(Full Backup) + 차등 백업(Differential Backup)
# cd /home
(전체백업)# tar -g /backup/backup.time -cvzf /backup/full.tar.gz .
(증분백업)# tar -g /backup/backup.time -cvzf /backup/inc1.tar.gz .
# cd /home
(전체복원)# tar -g /backup/backup.time -xvzf /backup/full.tar.gz
(증분복원)# tar -g /backup/backup.time -xvzf /backup/inc1.tar.gz
* 디렉토리 마이그레이션(ex: /test1/* -> /test2/*)
# cd /test1
# tar cvf - . | (cd /test2 ; tar xvf -)
* 운영체제 전체백업(tar --exclude CMD)
# mkdir -p /RootBackup
# time tar cvzf /RootBackup/full.tar.gz \
--exclude=/proc \
--exclude=/dev/shm \
--exclude=/tmp \
--exclude=/media \
--exclude=/sys \
--exclude=/run \
--exclude=/mnt \
--exclude=/proc \
--exclude=/RootBackup \
--absolute-name /
(2) 원격 백업
rsync CMD
(ㄱ) rsync 명령어 수행
(L -> L)
# rsync -a --delete /test1/ /test2
(L -> R)
# rsync -az --delete -e ssh /test1/ IP:/test2
(R -> L)
# rsync -az --delete -e ssh IP:/test2/ /test1
[참고] $HOME/.bashrc
# vi ~/.bashrc
alias RS='rsync -az --delete -e ssh'
alias LS='rsync -a --delete'
# . ~/.bashrc
(ㄴ) rsync 서버 구축
(rsync Server)
# yum install rsync-daemon rsysnc
# vi /etc/rsyncd.conf
-----------------------------------
uid=nobody
gid=nobody
use chroot=yes
max connections=5
timeout=60
[Backup]
comment=Rsync Backup Server
path=/backup1
read only=no
-----------------------------------
# systemctl enable --now rsyncd.socket
(rsync Client)
# rsync -avz --delete -e ssh IP::Backup /mirror