외장 드라이브 포맷 및 자동 백업 구현

소개



안녕하세요! 오늘 저는 문제가 발생할 경우를 대비하여 파일을 원격 외장 드라이브에 백업하기로 결정했으며 주기적으로 데이터를 백업하는 것이 중요합니다. 😀

현재 사용하고 있는 OS는 Arch Linux이지만 거의 모든 Linux 버전에서 작동합니다.


외장 드라이브 포맷



장치를 포맷하기 전에 실제로 장치를 찾아야 합니다.

sudo fdisk -l


이 명령은 시스템에 연결된 모든 장치를 나열하고 모두/dev 아래에 위치합니다(dev는 device의 약자임). 위치는 다음 명령에서 사용되므로 기록해 두어야 합니다. (제 경우에는/dev/sda).

다음으로 포맷을 수행하기 전에 장치가 마운트되지 않았는지 확인해야 합니다. 이 작업은 다음을 통해 수행할 수 있습니다.

sudo umount /dev/sda


장치가 마운트되지 않았을 수 있지만 확인하는 것이 가장 좋습니다.
이제 장치를 안전하게 포맷할 수 있습니다. 저는 Linux를 사용하고 있으므로 ext4 옵션을 제공합니다.

sudo mkfs -t ext4 /dev/sda


다음을 통해 형식이 올바르게 지정되었는지 확인할 수 있습니다.

lsblk -f


마지막으로 마운트 지점을 생성한 다음 해당 위치에 장치를 마운트하여 백업 장치를 마운트해야 합니다.

sudo mkdir /mnt/backup
sudo mount /dev/sda /mnt/backup



백업 스크립트 생성




#!/bin/bash
# Script to backup directories to external disk

backup_files="/home /etc /root /boot /opt"
backup_location="/mnt/backup"

# Create the filename
day=$(date +%A)
file_name="backup-$day.tgz"

tar -Pczf $backup_location/$file_name $backup_files


이 스크립트가 기본적으로 수행하는 작업은 여러 디렉터리를 외부 장치(이전 단계에서 마운트된 장치)에 백업하는 것입니다.

마지막으로 실행 가능하게 만드십시오. 😎

chmod +x backup.sh


스크립트는 아래에서도 찾을 수 있습니다.

https://gist.github.com/ethand91/d164602f1c298178cfb2b51894045a61

백업하려는 다른 디렉토리 등을 자유롭게 추가하십시오. 😉


백업 프로세스 자동화



백업은 주기적으로 수행되어야 하며 crontab을 사용하여 스크립트가 매일 실행되도록 할 수 있습니다.

cron이 시스템에 설치되어 있는지 확인한 다음 작업을 추가하기만 하면 됩니다.
주의: 이미 cron을 사용하고 있다면 -e와 -r을 혼동하지 않도록 주의하십시오. (어렵게 배웠습니다) 🥲

sudo crontab -e

# Add the following one liner
0 13 * * * bash /root/backup.sh


여기에서는 스크립트가 매일 점심 시간인 13:00에 실행되도록 설정했습니다. 🤓

백업 시간/스크립트 위치를 자유롭게 변경하십시오.


내가 일하는 것처럼? 다양한 주제에 대해 포스팅하고 있으니 더 보고 싶으시면 좋아요와 팔로우 부탁드립니다.
또한 저는 커피를 좋아합니다.

좋은 웹페이지 즐겨찾기