목록으로

Programming Notes

리눅스 /home 디렉토리 백업: tar 명령어를 활용한 안전한 백업 방법

회사 서버의 로컬 계정 접속 문제 해결을 위해 로컬 계정을 삭제하고 테스트를 진행해야 하는 상황이 발생했습니다. 문제 해결 과정에서 예상치 못한 오류 발생을 방지하고, 데이터 손실을 최소화하기 위해 /home 디렉토리 백업이 필수적이라고 판단했습니다. 특히, 로컬 계정들이 각각...

회사 서버의 로컬 계정 접속 문제 해결을 위해 로컬 계정을 삭제하고 테스트를 진행해야 하는 상황이 발생했습니다. 문제 해결 과정에서 예상치 못한 오류 발생을 방지하고, 데이터 손실을 최소화하기 위해 /home 디렉토리 백업이 필수적이라고 판단했습니다. 특히, 로컬 계정들이 각각 소유하고 있는 /home/[계정명] 디렉토리의 데이터 보존이 중요한데, 이를 효율적으로 백업하는 방법을 tar 명령어를 중심으로 설명드리겠습니다. 본 글에서는 cp 명령어를 사용한 예시도 함께 다루지만, 대용량 데이터 백업 시 tar 명령어를 활용하는 것이 더욱 효율적임을 알려드립니다.

먼저, 백업을 위한 디렉토리를 생성합니다. /backup 디렉토리를 생성하는 것은 백업 데이터를 체계적으로 관리하고, 원본 데이터와 혼동을 방지하기 위한 중요한 단계입니다. sudo mkdir -p /backup 명령어를 사용하여 /backup 디렉토리를 생성하고, 필요에 따라 접근 권한을 설정하는 것을 권장합니다. /backup 디렉토리가 생성되었으면, 이제 본격적인 백업 작업을 진행합니다.

개별 계정의 /home/[계정명] 디렉토리를 백업하는 방법은 다음과 같습니다. cp -r /home/[계정명] /backup/[계정명]_backup 명령어를 사용하여 해당 디렉토리를 /backup 디렉토리로 복사합니다. -r 옵션은 디렉토리의 하위 디렉토리와 파일을 재귀적으로 복사하는 옵션입니다. 여러 계정을 백업해야 하는 경우, 각 계정에 대해 위 명령어를 반복해서 실행해야 합니다. 하지만 더 효율적인 방법은 tar 명령어를 활용하는 것입니다. sudo tar -cvpzf /backup/[계정명]_backup.tar.gz /home/[계정명] 명령어를 사용하면, /home/[계정명] 디렉토리를 압축하여 .tar.gz 파일로 백업할 수 있습니다. -c는 생성, -v는 상세 정보 표시, -p는 권한 정보 유지, -z는 gzip 압축, -f는 아카이브 파일 이름을 지정하는 옵션입니다. tar 명령어는 cp 명령어보다 훨씬 효율적으로 대용량 데이터를 백업할 수 있습니다.

백업이 완료되면, ls -l /backup 명령어를 통해 백업 파일이 제대로 생성되었는지 확인할 수 있습니다. 백업 파일의 크기, 수정 시간 등을 확인하여 백업 작업의 성공 여부를 판단합니다. 더욱 확실한 확인을 위해서는 diff -r /home/[계정명] /backup/[계정명]_backup (tar로 백업한 경우에는 압축을 먼저 풀어야 합니다) 명령어를 사용하여 원본 디렉토리와 백업 디렉토리의 내용을 비교하여 데이터 무결성을 검증할 수 있습니다. 이 명령어는 두 디렉토리의 차이점을 보여주므로, 백업 과정에서 데이터 손실이나 오류가 발생했는지 확인하는 데 유용합니다.

최종적으로, 백업된 데이터의 안전성을 확인하고, 로컬 계정 삭제 및 테스트를 진행합니다. 만약 문제 발생 시, 생성된 백업 파일을 사용하여 데이터를 복원할 수 있습니다. 항상 백업본을 안전한 곳에 보관하고, 주기적인 백업을 통해 데이터 손실 위험을 최소화하는 것이 중요합니다. 본 글이 안전하고 효율적인 /home 디렉토리 백업에 도움이 되기를 바랍니다.