잠시만 기다려 주세요

     '인사 대참사 이재명을 규탄한다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (27)  |  여러가지 팁 (1126)  |  추천 및 재미 (166)  |  자료실 (25)  |  
시사, 이슈, 칼럼, 평론, 비평 (1054)  |  끄적거림 (160)  |  문예 창작 (736)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 데스크탑

리눅스 데스크탑 - 우분투 시스템 리눅스 백업하기 (Linux Backup)
이 름 : 바다아이   |   조회수 : 12120         짧은 주소 : https://www.bada-ie.com/su/?521591780486
TAR 사용 시스템 전체 백업

tar(Tape ARchive)는 소규모 네트워크에서 백업 프로그램으로 가장 일반적으로 사용되는 유틸리티이다.
 

이 유틸리티는 오래 전부터 여러 가지 용도로 사용되어 왔고, 앞으로도 아마 꽤 오랫동안 남아있을 것이다.
 

대부분의 사람이 모르고 있지만, tar는 옛날에 사용되던 자기테이프에 파일들을 옮겨 넣기 위해서 만들어진 것으로 HDD백업용으로 설계된 것이 아니다.
그런 이유로 tar는 증분 백업기능이 미약하다.
 

백업에 제외할 디렉토리를 정한다. 쓸모없는 디렉토리와, 백업파일 자신을 꼭 제외시켜주어야 한다.
또한 다른 파티션의 하드를 마운트한 /mnt 등의 디렉토리도 제외시켜야 불필요한 용량증가와 시간을 줄일 수 있다. .
/media, /dev 등의 디렉토리도 빼주자. /sys, /dev 는 가상적인 디렉토리이다. 백업이 완료된 후 에러 문구를 볼수가 있는데 대부분의 경우 무시해도 된다.
 

백업


1. 권한획득, 루트로 이동

  su
  cd /

2.전체 시스템을 백업

tar cvpzf backup.tgz.gz --exclude=/proc --exclude=/lost+found --exclude=/media \
--exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

그러니까 루트 권한으로 바꾸고 나서 최상위 리스트로 올라가서 tar 명령어를 적용하는데 압축 파일이름은 backup.tgz.gz 로 하고 압축시
/proc , /lost+found , /mnt , /sys, /media 는 제외하자는 것이다. 그런 후에 backup.tgz.gz 파일을 dvd로 굽든 랜으로 다른 컴터로 옮기든 하면 된다.


옵션

지적한 옵션으로는, z (압축; 백업 자료를 gzip 을 이용하여 압축한다), c (생성; 새로운 저장 파일을 만든다), v (수다; 백업이 되고 있는 파일의 목록을 보여준다),
p (퍼미션 보존; 파일 보호를 위한 정보는 복구할 수 있도록 "기억해" 둔다) 가 있다. 그 외에도, f (파일) 옵션은 그 다음의 인자가 생성할 저장 파일 (또는 장치) 의
이름이라는 것을 나타낸다. 파일 이름에 오늘 날짜를 넣기 위하여 어떻게 했는지 보면, date 명령을 두개의 역따옴표로 둘러싸서 만들어내고 있다. 일반적으로
사용되는 이름 규칙은 압축되지 않은 저장 파일에는 tar 를 뒤에 붙이고, 압축된 저장파일의 경우에는 tar.gz 를 뒤에 붙이는 것이다.


좀 더 간단한 것
 

홈은 따로 백업하는 것이 낫다.

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/home --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

–one-file-system 이 옵션은 다른 파일시스템으로 된 폴더는 백업하지 않는다. 예를 들어 /proc, /sys, /mnt, /media, /run & /dev 등 이다.

tar -cvpzf /home/backup/backup/backup.tar.gz   --exclude=/home --one-file-system /


cron 에 올려놓고 쓰기 위해 아래 스크립트를 작성한다.
#!/bin/bash
# 시스템 백업
su
cd /
export Today="`date '+%y-%m-%d'`"
tar cvpzf /home/backup/backup/ssd$Today.tgz.gz \
--exclude=/home \
--one-file-system  /

시간이 많이 걸리고, CPU를 많이 소모하므로 접속이 적은 시간 (주로 새벽3-4시)를 이용한다.


정리 스크립트
 

10일이 지난 파일들을 삭제한다. 주의해서 사용할 것

#!/bin/bash
find /backup/ -type f -mtime +10 | sort | xargs rm -f

복구
 

1. 루트로 이동

  cd /

2. 압축을 풀어 복구

  tar xvpfz backup.tgz -C /

마지막의 -C / 옵션때문에 백업파일이 루트가 아닌 다른 곳에 저장되어있는 상태라도 상관없다.
 

백업에서 제외했던 디렉토리는 직접 만들어 주어라

  mkdir proc
  mkdir lost+found
  mkdir mnt
  mkdir sys

재부팅을 하면 백업전과 똑같은 상태로 돌아 갈 것이다.


기존 하드와 똑같게 복사해 놓는 방법
 

시스템을 잠시라도 정지해서는 안되는 중요한 시스템의 경우는 별도의 하드에 기존 하드와 똑같게 복사해 놓는 방법이다.
별도의 하드는 백업시에만 마운트해 사용하고 그 외의 시간에는 umount 하므로 해킹을 당하는 경우도 비교적 안전하다.
이 경우 메인 하드에 이상이 발생하면 두 번째 하드로 케이블 연결만 변경하면 되므로 다운 시간은 5분 이내 일 것이다.
원본 시스템이 깔린 하드 A가 있고 그 시스템을 똑같이 복사할 하드 B가 있다고 하면 하드 B를 하드 A에 케이블로 연결을 해서 아래 명령어를 적용시키면 된다.

  sudo su
  cat (하드A) > (하드B)

만약 하드 A 위치가 /dev/hdb이고 하드 B 위치가 /dev/hdc라면 이렇게 되는거죠. (sudo cat … .. 이런 것으로는 안됨)

  cat /dev/hdb > /dev/hdc
  • 하드A의 내용이 하드B에 완전히 모조리 똑같이 백업된다.
  • 부트영역, 파티션과 시스템 디바이스 관련된 것도 같이 가니까 사용할 컴터 스펙과 HDD자체도 동일해야 한다.
  • 용량이 더 큰 HDD로 옮겼다면 이전의 작은 용량밖에 사용할 수 없다. GParted를 사용해서 파티션 복구 및 확장을 한다.

데이터만 백업
 

가급적 리눅스와 데이터를 별개의 파티션에 분리하는 것이 좋다.
리눅스는 거의 설정이 바뀌지 않으므로 1주 일에 1회 정도 백업하고 데이터만 매일 백업하는게 낫기 때문이다. 사용하는 명령은 tar가 가장 낫다.
 

예를들어 /pub 의 내용을 다른 하드에 그대로 복사한다면 아래 명령을 사용하면 된다.
 

1) 백업 하드를 임의의 디렉토리에 마운트한다.

   mount /dev/sda1 /mnt

2) /pub 디렉토리의 모든 파일을 백업 하드에 복사한다.

   cd /pub 
   tar cf - * | ( cd /mnt ; tar xvf - )

3) 백업하드를 umount 한다.

   umount /mnt


특정폴더 백업 스크립트

#!/bin/bash
# 특정폴더 제외하고 압축
export Today="`date '+%y-%m-%d'`"
tar czpf data-$Today.tar.gz \
--exclude=html/data/cache \
--exclude=html/data/media \
html/data


Mysql의 전체 데이타베이스 백업


백업형식 :

 mysqldump -u root -p --all-databases > /mnt/data/backup/mysql_` date '+%Y%m%d'`.sql; gzip  /mnt/data/backup/*.sql

복구형식 :

 mysql -u root -p < 파일명.sql

원본 데이타베이스명과 동일한 디비가 생성됨 - 기존 테이블 삭제 후 백업된 파일로 복구를 위한 백업
(mysqldump문으로 데이타베이스 백업 시 각각의 create table문 앞에 drop table문을 삽입한 형태가 된다)
 

기존 테이블을 삭제하고 복구한다는것에 유의


출처 : https://openwiki.kr/tech/linux_system_backup
 

| |





      5 page / 9 page
번 호 카테고리 제 목 이름 조회수
139 리눅스 데스크탑 archlinux 아치 리눅스 yaourt 설치하기, 사용하기... 바다아이 12129
138 리눅스 데스크탑 리눅스 터미널 폰트 문제, 영어가 너무 다닥다닥 붙어 있을 때... 바다아이 12972
137 리눅스 데스크탑 arch 아치리눅스 설치하기 install, xfce4 설치, 한글입력, 아치리눅스 네트워크 설정, network setup 바다아이 16698
136 리눅스 데스크탑 archlinux 아치리눅스 nvidia 304, 340 드라이버 문제... xorg-server 1.20 문제... 다운그레이드 downgrade, arch binary mirror 미러 바다아이 12379
135 리눅스 데스크탑 archlinux 아치리눅스 thunar 탐색기에 trash 쓰레기통, 휴지통이 보이지 않을 때... 바다아이 12572
134 리눅스 데스크탑 manjaro 만자로 리눅스 google-chrome 구글 크롭 설치하기... 바다아이 13244
133 리눅스 데스크탑 리눅스 EUC-KR 한글 문자 인코딩을 UTF-8로 일괄 변경 바다아이 14585
132 리눅스 데스크탑 리눅스 다운되는 현상, 프로그램 실행시 먹통되는 현상, 멈추는 현상.. 원인은 그래픽 카드 드라이버 미설치. 바다아이 13362
131 리눅스 데스크탑 파이어폭스 마우스 휠(스크롤) 양 조절하기(Firefox about:config mousewheel) 바다아이 13272
130 리눅스 데스크탑 배포판별 패키지 관리 방법, 패키지 관리 툴, Package Management Cheatsheet 바다아이 16320
129 리눅스 데스크탑 리눅스 GRUB 의 대기 시간, 기본 부팅 순서 바꾸기, timeout 바다아이 13324
128 리눅스 데스크탑 manjaro 만자로 리눅스 커널 선택해서 설치, 삭제하기, 커널 다운그레이드, 업그레이드 바다아이 13009
127 리눅스 데스크탑 manjaro 만자로 리눅스 pamac 응용프로그램 관리 설치하기.... pacman, 패키지 관리 바다아이 12278
126 리눅스 데스크탑 리눅스에서 dd 명령어, iso 파일을 usb 로 굽기, 복사하기. 부팅 디스크 제작 바다아이 12188
125 리눅스 데스크탑 manjaro 만자로 리눅스 한글 입력하기... 한글 메뉴... 보이기... 한글 설정 바다아이 15759
124 리눅스 데스크탑 manjaro 만자로 리눅스 nvidia 그래픽 드라이버 설치하기, xfce 바다아이 12210
123 리눅스 데스크탑 ubuntu 우분투 18.04 nvidia 드라이버 설치하기 바다아이 12593
122 리눅스 데스크탑 우분투 16.04 런레벨 변경, Change runlevel on 16.04 바다아이 12273
121 리눅스 데스크탑 데비안 debian 리눅스 apt 패키지 의존성 문제, 깨졌을 때 복구하기 바다아이 12155
120 리눅스 데스크탑 우분투 fcitx 한글 입력기 설치, 설정, 사용하기.... 바다아이 17177
119 리눅스 데스크탑 nvidia 304 드라이버 지원 중단..... 바다아이 12695
118 리눅스 데스크탑 윈도우에서 가져온 zip 분할 압축 파일을 리눅스에서 풀기... 한글 깨짐 방지... 바다아이 14200
현재글 리눅스 데스크탑 우분투 시스템 리눅스 백업하기 (Linux Backup) 바다아이 12121
116 리눅스 데스크탑 Vim Vi 블록 선택, 복사, 붙이기, 칼럼 영역 선택하기; Select Copy Paste 바다아이 12595
115 리눅스 데스크탑 fedora software center, ubuntu software center, 소프트웨어 센터, 검색, 리스트 바다아이 12726
114 리눅스 데스크탑 리눅스에서 DOSBox 로 도스의 추억을 살려볼까요 ! 바다아이 18984
113 리눅스 데스크탑 fedora yum 대체 dnf 사용법, dnf 명령어 바다아이 18649
112 리눅스 데스크탑 리눅스 하드웨어 사양 확인, 시스템 정보 확인. hardware information on Linux 바다아이 12886
111 리눅스 데스크탑 fedora, centos 데스크탑 설정.... firewalld 방화벽 및 selinux, sshd 제거, 당나귀, ftp 접속 문제... 바다아이 12244
110 리눅스 데스크탑 fedora 27 google-noto-sans-fonts 설치하기 바다아이 13269
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 chrome 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Debian + GoLang + PostgreSQL + Mariadb + PgBouncer + ProxySQL]
서버위치 : San Jose Datacenter  실행시간 : 0.03101 초
to webmaster... gogo sea. gogo sea.