반응형
안녕하세요 유똥입니다.
오늘은 리눅스 로컬 백업 설정에 대하여 같이 스크립트 작성 후 실행방법까지 포스팅을 진행하겠습니다.
백업은 서버를 운영하는데 있어 가장 중요한 요소 중 하나입니다.
디스크 장애로 인해 데이터가 손실이 되거나
혹은 해킹으로 인해 데이터가 날아갈 수 있는 상황에 대비하는 것이 가장 중요합니다.
백업 설정
vi backup.sh
#!/bin/bash
TIME=$(date); echo ${TIME} >> /root/backup/rsync_start.log
GRUB=$(dd if=/dev/sdb bs=512 count=1 2>/dev/null | strings | egrep -ic "grub")
RSYNC="/usr/bin/rsync"
LOGFILE="/root/backup/backup.log"
umount /disk/boot
umount /disk
sleep 5
mkdir -p /root/backup
mkdir -p /disk
mount /dev/sdb3 /disk
CHECK_MOUNT=$(df -h | egrep -c "/disk")
if [ ${CHECK_MOUNT} -eq 0 ]
then
echo "backup disk mount error" > ${LOGFILE}
exit 0;
fi
mkdir -p /disk/boot
mount /dev/sdb1 /disk/boot
sleep 5
${RSYNC} -a / /disk --exclude proc --exclude sys --exclude tmp --exclude boot --exclude home --exclude disk > ${LOGFILE}
${RSYNC} -a /usr/include /disk/usr >> ${LOGFILE}
${RSYNC} -a /root/tmp /disk/root >> ${LOGFILE}
${RSYNC} -a /boot/ /disk/boot >> ${LOGFILE}
${RSYNC} -a /home/ /disk/home >> ${LOGFILE}
mkdir -p /disk/sys
mkdir -p /disk/proc
mkdir -p /disk/tmp
chmod 1777 /disk/tmp
if [ ${GRUB} -eq 1 ]
then
echo ${TIME} >> ${LOGFILE}
echo "Already grub installed" >> ${LOGFILE}
else
dd if=/dev/zero of=/dev/sdb bs=512 seek=1 count=2047
mount --bind /proc /disk/proc
mount --bind /sys /disk/sys
mount --bind /dev /disk/dev
mount --bind /dev/pts /disk/dev/pts
/usr/sbin/chroot /disk <<EOF
/usr/sbin/grub2-install --force /dev/sdb
EOF
umount /disk/dev/pts
umount /disk/dev
umount /disk/sys
umount /disk/dev
umount /disk/sys
umount /disk/proc
fi
sleep 5
touch /disk/root/BACKUP_DISK
umount /disk/boot
umount /disk
TIME=$(date); echo ${TIME} >> /root/backup/rsync_end.log
해당 백업 스크립트는 OS영역인 데이터를 rsync 명령어로 복사해
다른 디스크로 복사하는 형태입니다.
백업이 완료되면 rsync_end.log에 백업 완료된 로그가 남게되며
스크립트가 실행되면 /dev/sdb 영역에 /disk로 마운트 후 백업이 완료되면 언마운트 되는 스크립트 입니다.
백업 확인
cat /root/backup/rsync_end.log
Tue Mar 28 19:28:52 KST 2023
- 백업이 정상적으로 완료 되는 부분 확인
여기까지 리눅스 백업설정에 대하여 알아보았습니다.
도움이 되셨다면 카카오뷰 채널추가 부탁드립니다!
반응형
'IT > Linux' 카테고리의 다른 글
리눅스 커널 업데이트 (0) | 2023.03.31 |
---|---|
Rocky Linux 8 설치 (0) | 2023.03.27 |
[보안이슈] Cacti / 임의 코드 실행 취약점(CVE-2022-46169) 점검 (0) | 2023.02.17 |
[보안이슈] Netfilter / 로컬 권한 상승 취약점(CVE-2022-32250) 점검 (1) | 2023.02.17 |
io_uring / 임의 코드 실행 취약점(CVE-2022-2602) (0) | 2023.01.16 |
최근댓글