IT 기술 문서
CentOS 7 유용한 명령어 시리즈 - ⑯ 파일 압축 및 백업 관리
- it2033 4일 전 2025.02.01 17:30
-
- 4
- 0
서버 운영 중 중요한 데이터는 정기적으로 백업하고 보관해야 합니다. CentOS 7에서는 다양한 파일 압축 및 백업 명령어를 지원하며, 이를 활용하여 데이터를 효과적으로 관리할 수 있습니다. 이번 글에서는 파일 압축 및 백업을 위한 필수 명령어들을 정리하겠습니다.
1. 파일 압축 및 해제
1.1. tar 압축 및 해제
tar 명령어는 여러 파일을 하나의 아카이브 파일로 묶거나 압축하는 데 사용됩니다.
1.1.1. tar로 디렉토리 압축
tar -cvf backup.tar /home/user
/home/user
디렉토리를backup.tar
파일로 압축합니다.-c
: 새 아카이브 생성-v
: 진행 상황 표시-f
: 파일 이름 지정
1.1.2. gzip을 사용한 tar 압축
tar -czvf backup.tar.gz /home/user
gzip
을 사용하여backup.tar.gz
파일로 압축합니다.-z
: gzip 압축 사용
1.1.3. bzip2를 사용한 tar 압축
tar -cjvf backup.tar.bz2 /home/user
bzip2
를 사용하여backup.tar.bz2
파일로 압축합니다.-j
: bzip2 압축 사용
1.1.4. tar 압축 해제
tar -xvf backup.tar
tar -xzvf backup.tar.gz
tar -xjvf backup.tar.bz2
각각
tar
,gzip
,bzip2
로 압축된 파일을 해제합니다.-x
: 압축 해제
1.2. zip 및 unzip 사용
1.2.1. zip으로 파일 및 폴더 압축
zip backup.zip file1 file2
zip -r backup.zip /home/user
file1
과file2
를backup.zip
으로 압축/home/user
폴더를backup.zip
으로 압축 (-r
옵션)
1.2.2. zip 압축 해제
unzip backup.zip
backup.zip
파일을 해제
1.3. 7z 압축 및 해제 (7zip)
1.3.1. 7z 설치
yum install p7zip -y
1.3.2. 7z 압축
7z a backup.7z /home/user
/home/user
디렉토리를backup.7z
파일로 압축
1.3.3. 7z 압축 해제
7z x backup.7z
backup.7z
압축 해제
2. 데이터 백업 및 복원
2.1. rsync를 이용한 원격 및 로컬 백업
2.1.1. 로컬 디렉토리 백업
rsync -av /home/user /backup/
/home/user
디렉토리를/backup/
에 동기화하여 백업
2.1.2. 원격 서버로 백업 (SSH)
rsync -avz /home/user user@remote-server:/backup/
/home/user
디렉토리를 원격 서버/backup/
디렉토리에 전송
2.1.3. 원격 서버에서 로컬로 복사
rsync -avz user@remote-server:/backup/ /home/user
원격 서버
/backup/
을 로컬/home/user
에 복사
2.2. scp를 이용한 원격 백업
2.2.1. 단일 파일 전송
scp file.txt user@remote-server:/backup/
file.txt
를 원격 서버/backup/
으로 복사
2.2.2. 디렉토리 전송
scp -r /home/user user@remote-server:/backup/
/home/user
디렉토리를 원격 서버/backup/
에 복사
2.3. dd 명령어를 이용한 디스크 백업
2.3.1. 디스크 전체 백업
dd if=/dev/sda of=/backup/sda.img bs=4M status=progress
/dev/sda
디스크를sda.img
로 백업
2.3.2. 백업 파일을 디스크로 복원
dd if=/backup/sda.img of=/dev/sda bs=4M status=progress
sda.img
를/dev/sda
디스크에 복원
3. MySQL / MariaDB 데이터베이스 백업 및 복원
3.1. 특정 데이터베이스 백업
mysqldump -u root -p mydatabase > mydatabase_backup.sql
mydatabase
를mydatabase_backup.sql
로 백업
3.2. 모든 데이터베이스 백업
mysqldump -u root -p --all-databases > all_databases_backup.sql
모든 데이터베이스를 백업
3.3. 특정 데이터베이스 복원
mysql -u root -p mydatabase < mydatabase_backup.sql
백업한
mydatabase_backup.sql
을mydatabase
에 복원
3.4. 모든 데이터베이스 복원
mysql -u root -p < all_databases_backup.sql
전체 데이터베이스를 복원
4. 크론(cron)으로 자동 백업 설정
4.1. crontab 설정 파일 열기
crontab -e
사용자별 크론 작업을 편집
4.2. 매일 자정에 MySQL 백업 실행
0 0 * * * mysqldump -u root -p'mypassword' mydatabase > /backup/mydatabase_$(date +\%F).sql
매일 자정(
0 0 * * *
)에mydatabase
를/backup/
에 날짜별로 백업
4.3. 매주 일요일 밤 11시에 전체 데이터베이스 백업
0 23 * * 0 mysqldump -u root -p'mypassword' --all-databases > /backup/all_databases_$(date +\%F).sql
매주 일요일(
0 23 * * 0
) 밤 11시에 전체 데이터베이스 백업
정리
명령어 | 설명 |
---|---|
| gzip으로 tar 압축 |
| gzip 압축 해제 |
| zip 압축 |
| zip 해제 |
| 로컬 디렉토리 백업 |
| 원격 서버로 백업 |
| 원격 서버로 파일 전송 |
| 디스크 백업 |
| MySQL 데이터베이스 백업 |
| MySQL 데이터베이스 복원 |
| 크론 작업 편집 |
| 자동 백업 스케줄링 |
이번에는 파일 압축 및 백업 관리 명령어를 정리했습니다. 다음 시리즈에서는 커널 및 부팅 관리 명령어를 다루겠습니다.
- 이전글CentOS 7 유용한 명령어 시리즈 - ⑰ 커널 및 부팅 관리2025.02.01
- 다음글CentOS 7 유용한 명령어 시리즈 - ⑮ Apache / Nginx 웹서버 관리2025.02.01
댓글목록
등록된 댓글이 없습니다.