반응형

ghost 백업 및 복구시

 

다음과 같은 사항을 유의한다.

 

1. 디스크 관리에서 디스크 번호를 보고

   ghost에서는 +1을 더해준다.

 

2. szel 옵션을 항상 준다.

   (제일 마지막 파티션을 제외하고는 나머지는 원본 그대로 적용)

 

만약 C (디스크 관리 - 디스크 0번) 이고 D (디스크 관리 - 디스크 1번) 이라면 다음과 같은 명령어로 

 

제일 마지막 파티션만 유동적으로 설정하고 나머지(부팅 관련) 설정은 그대로 적용하는 방법은 다음과 같습니다.

 

ghost32 -clone,mode=copy,src=1,dst=2 -sure -fx -szel

 

참고 사이트 : http://cappleblog.co.kr/417

반응형

'UTILITY' 카테고리의 다른 글

7-ZIP CPU 사용률 제한  (0) 2022.05.11
Scouter Batch 설정 옵션  (1) 2020.06.15
POSTMAN Spring 에 Post 데이터 전송 예  (0) 2019.05.27
정규식 방법  (0) 2014.06.17
Process Hacker  (0) 2014.03.26
반응형

파티션 테이블 유무에 따라 사용법이 나뉩니다.

 

 

1. Non 파티션 테이블 백업

 

- 대상 데이터베이스 : test

- 대상 테이블 : ZIPDB

 

a. FLASH TABLES 권한이 있는 계정으로 접속합니다. (어려우면 root 접속)

   

    MariaDB [TEST]> FLUSH TABLES test.ZIPDB FOR EXPORT;

    Query OK, 0 rows affected (0.013 sec)

 

b. 위의 명령어가 정상적으로 끝나면 기본 데이터 저장하는 곳에 파일 생성됩니다.

   (기본 yum 설치시 : /var/lib/mysql 이며 그 밑에 데이터베이스 명 폴더로 갑니다.)

   cd /var/lib/mysql/test

   ls -lsa를 수행하면 

 

 

  일반적으로 보이지 않는 zipdb.cfg 파일이 하나더 생성됨을 알 수 있습니다.

   ※ 현재 이상태는 백업을 위해 TABLE LOCK을 한 상태입니다.

 

c. 테이블 이동을 위한 복사 작업을 수행합니다

   cp /var/lib/mysql/test/zipdb.ibd /tmp

   cp /var/lib/mysql/test/zipdb.cfg /tmp

 

d. 복사가 정상적으로 끝나면 TABLE LOCK을 풀어줍니다.

  MariaDB [TEST]> UNLOCK TABLES;
  Query OK, 0 rows affected (0.019 sec)

 

위의 작업을 마치면 정상적으로 해당 테이블을 백업 받은 상태입니다.

 

2. Non 파티션 테이블 복구하기

복구할 Database로 2개의 파일(zipdb.ibd, zipdb.cfg)을 복사합니다.

복사시에는 같은 망인 경우 scp를 사용하면 편리합니다.

(scp /tmp/zipdb.* root@대상hostIP:/tmp)

 

a. 먼저 테이블 생성 구문을 동일하게 수행합니다.   

CREATE TABLE `zipdb` (
`ZONE_NO` VARCHAR(5) NOT NULL COMMENT '구역번호(우편번호)',
`CTPRVN` VARCHAR(20) NULL DEFAULT NULL COMMENT '시도',
`CTPRVN_ENG` VARCHAR(40) NULL DEFAULT NULL COMMENT '시도영문',
`SIGNGU` VARCHAR(20) NULL DEFAULT NULL COMMENT '시군구',
`SIGNGU_ENG` VARCHAR(40) NULL DEFAULT NULL COMMENT '시군구영문',
`EUP_MYEON` VARCHAR(20) NULL DEFAULT NULL COMMENT '읍면',
`EUP_MYEON_ENG` VARCHAR(40) NULL DEFAULT NULL COMMENT '읍면영문',
`RN_CODE` VARCHAR(12) NULL DEFAULT NULL COMMENT '도로명코드',
`RN` VARCHAR(80) NULL DEFAULT NULL COMMENT '도로명',
`RN_ENG` VARCHAR(80) NULL DEFAULT NULL COMMENT '도로명영문',
`UNDGRND_AT` VARCHAR(1) NULL DEFAULT NULL COMMENT '지하여부(0:지상, 1:지하)',
`BDNBR_MNNM` INT(5) NULL DEFAULT NULL COMMENT '건물번호본번',
`BDNBR_DUCA` INT(5) NULL DEFAULT NULL COMMENT '건물번호부번',
`BULD_MANAGE_NO` VARCHAR(25) NULL DEFAULT NULL COMMENT '건물관리번호',
`MUCH_DLVR_OFFIC_NM` VARCHAR(40) NULL DEFAULT NULL COMMENT '다량배달처명(null)',
`SIGNGU_BDNBR_NM` VARCHAR(200) NULL DEFAULT NULL COMMENT '시군구용건물명',
`LEGALDONG_CODE` VARCHAR(10) NULL DEFAULT NULL COMMENT '법정동코드',
`LEGALDONG_NM` VARCHAR(20) NULL DEFAULT NULL COMMENT '법정동명',
`LI_NM` VARCHAR(20) NULL DEFAULT NULL COMMENT '리명',
`ADSTRD_NM` VARCHAR(40) NULL DEFAULT NULL COMMENT '행정동명',
`MNTN_AT` VARCHAR(1) NULL DEFAULT NULL COMMENT '산여부(0:토지, 1:산)',
`LNM_MNNM` INT(4) NULL DEFAULT NULL COMMENT '지번본번',
`EMD_SN` VARCHAR(2) NULL DEFAULT NULL COMMENT '읍면동일련번호',
`LNM_DUCA` INT(4) NULL DEFAULT NULL COMMENT '지번부번',
`OLD_ZIP` VARCHAR(6) NULL DEFAULT NULL COMMENT '구 우편번호(null)',
`ZIP_SN` VARCHAR(3) NULL DEFAULT NULL COMMENT '우편번호일련번호(null)', INDEX `ZIPDB_IX1` (`ZONE_NO`), INDEX `ZIPDB_IX2` (`CTPRVN`, `SIGNGU`, `EUP_MYEON`), INDEX `ZIPDB_IX3` (`RN_CODE`), INDEX `ZIPDB_IX4` (`RN`)
) COLLATE='utf8_general_ci' ENGINE=InnoDB
;

b. 생성후에는 ALTER TABLE ... DISCARD TABLESPACE 명령을 사용하여 새로운 테이블의 테이블스페이스를 폐기합니다.

MariaDB [TEST]> ALTER TABLE test.zipdb DISCARD TABLESPACE;

c. ibd 파일과 cfg 파일을 데이터베이스 (test) 폴더에 붙여 넣습니다.

복구할 서버 데이터베이스 저장 위치 : /var/lib/mysql/test

 

# cp /tmp/zipdb.* /var/lib/mysql/test/

 

root 권한으로 복사시에는 아래의 퍼미션을 부여합니다.

# chown -R mysql:mysql /var/lib/mysql/test/zipdb.*

 

.ibd 파일 만으로도 테이블 스페이스로 파일을 가지고 올 수 있습니다.   

(.cfg 파일은 테이블 스페이스 정보 가지고 있음)

 

d. 다음 명령을 사용하여 새 테이블에 데이터를 가지고 옵니다.

 

MariaDB [(none)]> ALTER TABLE test.zipdb IMPORT TABLESPACE;

퍼미션이 맞지 않는 경우 다음의 에러가 발생

ERROR 1030 (HY000): Got error 194 "Tablespace is missing for a table" from storage engine InnoDB

 

 

e. 복구 결과

   정상적으로 모든 데이터 건수가 일치하는 것을 알 수 있습니다.

 

파티셔닝 복구 방식

https://mariadb.com/kb/en/library/innodb-file-per-table-tablespaces/

 

InnoDB File-Per-Table Tablespaces

InnoDB file-per-table tablespaces: what they are, where they're located, how to copy them, and other details.

mariadb.com

 

반응형

'Database > MYSQL' 카테고리의 다른 글

MariaDB connect 설치  (0) 2019.11.07
MariaDB JSON 컬럼 및 함수들  (0) 2019.11.04
MariaDB 우편번호 Import 하기  (0) 2019.11.01
MariaDB SHA2 512 방식으로 암호화 예제  (0) 2019.10.25
Mysql & MariaDB 튜닝 쉘  (0) 2019.08.14
반응형

* 컨테이너 커밋은 기 Container 파일내에 변경 사항에 대한 내용을 image 화 하는 방식임.


1.  Docker 컨터이너 커밋
   - docker에서 작업한 컨테이너를 그대로 저장합니다.
     (별도로 기본 이미지에서 변경한 내역이 있을 때 사용)
   
   - docker commit [CONTAINER] [백업할 IMAGE_NAME]
   - 예)
   [root@localhost ~]# docker ps
CONTAINER ID        IMAGE                                                COMMAND                  CREATED             STATUS              PORTS                                                                           NAMES
2df5d23dbe0e        docker.test.io:8081/solution-was/2.1/x64:latest         "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        0.0.0.0:8888->8080/tcp                                                          docker_was_1
509d8e8f79c6        docker.test.io:8081/solution-dtg/2.1/x64:latest         "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        1337/tcp                                                                        docker_dtg_1
22bc42e1e8f7        docker.test.io:8081/solution-mhp/2.0/x64:latest         "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        1335/tcp, 1337/tcp, 1339-1341/tcp, 3882/tcp, 0.0.0.0:9900-9999->9900-9999/tcp   docker_mhp_1
dfce80fcd38f        docker.test.io:8081/solution-geoserver/2.2/x64:latest   "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        8080/tcp                                                                        docker_geoserver_1
eb18ba2b9010        postgres:10.5                                        "docker-entrypoint..."   4 months ago        Up 5 minutes        5432/tcp                                                                        docker_postgresdb_1
2c8ec75d22ed        cassandra:3.11.3                                     "docker-entrypoint..."   4 months ago        Up 5 minutes        7000-7001/tcp, 7199/tcp, 9042/tcp, 9160/tcp                                     docker_cassandra_1
a427d7f36829        mongo:3.4                                            "docker-entrypoint..."   4 months ago        Up 5 minutes        0.0.0.0:27017->27017/tcp                                                        docker_mongodb_1

   위의 내용에서 docker_was_1 컨테이너를 commit할 예정
   
   [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              a85e7acc572a        6 months ago        1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB

  [root@localhost ~]# docker commit docker_was_1 docker.test.io:8081/solution-was/2.1/x64:latest
sha256:b4fd018ea938c46eae246ca8f6daa586c7216919b4be21a0e980bf05fca82dc0
[root@localhost ~]#

  위의 보이는 것처럼 b4fd018ea938c46eae246ca8f6daa586c7216919b4be21a0e980bf05fca82dc0 이름으로 이미지가 생성됩니다.
  
  [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        10 seconds ago      1.23 GB
docker.test.io:8081/solution-was/2.1/x64                       a85e7acc572a        6 months ago        1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB


  - 만든 이미지의 임의의 이름 부여
  [root@localhost ~]# docker tag docker.test.io:8081/solution-was/2.1/x64 mydocker_last

  - 내역 조회
  [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED              SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        About a minute ago   1.23 GB
mydocker_last                                 latest              b4fd018ea938        About a minute ago   1.23 GB
docker.test.io:8081/solution-was/2.1/x64                       a85e7acc572a        6 months ago         1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago         1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago         519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago         1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago         323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago         361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago         1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago         1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago         228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago        1.15 GB

     
 
2. docker 이미지 백업 및 배포

위에서 만든 mydocker_last 이미지를 백업 받습니다.

[root@localhost ~]# docker save -o mydocker_last_20190626.tar mydocker_last

[root@localhost ~]# ls -lsa mydocker*.tar
1229636 -rw------- 1 root root 1259146752 Jun 26 04:06 mydocker_last_20190626.tar


위의 생성된 내역을 기준으로

* 사전에 docker-compose로 전체를 내리고 수행 필요

a. docker rm [컨테이너 삭제]
b. docker rmi [이미지 삭제]

이미지 로드

[root@localhost ~]# docker load -i mydocker_last_20190626.tar
9186e1e3577e: Loading layer [==================================================>] 4.608 kB/4.608 kB
5e98fb5934af: Loading layer [==================================================>] 157.5 MB/157.5 MB
f33686d99dec: Loading layer [==================================================>] 2.048 kB/2.048 kB
f30a15d54bfb: Loading layer [==================================================>] 2.048 kB/2.048 kB
825ca8132690: Loading layer [==================================================>]  29.7 kB/29.7 kB
Loaded image: mydocker_last:latest
[root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
mydocker_last                                 latest              b4fd018ea938        12 minutes ago      1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB


기존 명칭으로 mydocker_last를 변경

 # docker tag mydocker_last docker.test.io:8081/solution-was/2.1/x64 
 
 [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        13 minutes ago      1.23 GB
mydocker_last                                 latest              b4fd018ea938        13 minutes ago      1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB

복제된 기존 태그 삭제
[root@localhost ~]# docker rmi mydocker_last
Untagged: mydocker_last:latest
[root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        14 minutes ago      1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB

반응형
반응형

1. svn 백업

아래는 다음과 같은 값을 가질 때 예

svn root : /var/svn

저장소명 : gov

백업 파일명 : gov_backup.dump

#> svnadmin dump /var/svn/gov > gov_backup.dump

 

2. svn 복구

svn root 위치에 해당 파일(gov_backup.dump)

복사후 수행

 

a. 저장소 생성

#> svnadmin create --fs-type fsfs gov

 

b. 생성된 저장소에 내용 로드

#> svnadmin load gov < gov_backup.dump

반응형

'Private' 카테고리의 다른 글

웹 페이지 성능분석 및 로딩 속도 최적화  (0) 2019.09.03
D3  (0) 2019.05.31
node-red oracledb  (0) 2018.06.25
서버 용량 산정 / 성능 측정 / tpmc / bops / tpc / tpc-h  (0) 2013.05.10
오라클 접속 ORA-12505 에러 관련  (0) 2013.05.02
반응형


리눅스 시스템에서 TAR를 통한 증분 백업 및 복구 하기


예를 들어...


파일 업로드 하는 디렉토리를 백업 받는데... 서비스 다운 시간을 최소화 할려고 할 때는


일차로 압축해서 만들고


서비스 다운 후 증분 내역 압축하여 적용함.


================================= 백업 ======================================


1. 백업


  - 대상 디렉토리 : /tmp/test


  # tar cvfzP /tmp/20131218.tar.gz -g /tmp/snap_test.snap /tmp/test

         a.옵션    b.생성 파일명            c. 스냅샷 옵션           d.대상 디렉토리

a. 옵션 ==> c : 생성, v : 묶이는 파일 보여지게, z : gzip 압축, P : 절대경로로 압축

b. 생성 파일명 ==> 생성될 파일위치와 파일명

c. 옵션 ==> -g : snap 파일을 만듬(증분 확인하기 위해 기존 파일들의 정보를 가지는 파일)

d. 대상 디렉토리 ==> 묶을 디렉토리


2. 증분 백업


  # tar cvfzP /tmp/20131218_inc.tar.gz -g /tmp/snap_test.snap /tmp/test


옵션은 위와 동일하지만, -g 옵션을 통한 snap 파일을 확인하여 증분된 내역만 20131218_inc.tar.gz에 만들어 짐



================================= 복구 ======================================


1. 백업 받은 파일 풀기


- 원래 디렉토리에 풀기 ( P 옵션 주면 원래 위치에 풀리며 P 옵션을 주지 않으면 현재 폴더 밑으로 생성됨)


# tar xvfzP /tmp/20131218.tar.gz


   c 의 생성 옵션대신 x의 압축 풀기 옵션 적용


2. 증분 백업 파일 압축 풀기


# tar xvfzP /tmp/20131218_inc.tar.gz -g /tmp/snap/snap_test.snap



간단하게 사용하면 좋다


다만, 속도를 올리기 위해 v 옵션을 빼면 더욱 좋다



반응형

'사업' 카테고리의 다른 글

공공 기관 관련 표준 가이드 정보  (0) 2019.04.10
반응형

후암..


우선,


참고 : http://www.mondorescue.org(확인해봐야하는 백업 복구 사이트!)

참고 : http://readytoact.tistory.com/159 (G4l) => Ghost for Linux  여기로 해본다...


clonezilla 를 하라는 말 부터 하고 ... http://clonezilla.org


아래는 생짜배기(압축과 풀기)로 하는 방식...


출처 : http://kldp.org/node/84594


이글은 우분투 포럼에 A-star라는 작자가 올린 글을 요약 정리 한겁니다.
http://ubuntuforums.org/showthread.php?t=81311

방법은 간단합니다.
tar로 전체 시스템을 압축하는 명령어를 사용하면서 
/proc , /lost+found , /mnt , /sys 는 제외하고 압축하고 
나중에 복원은 이 파일 압축 푸는 방식입니다.

===========압축=========================

방법은 아래에 순서대로 작성했습니다.

sudo su 
cd /
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/media --exclude=/sys /

그러니까 루트 권한으로 바꾸고 나서 최상위 리스트로 올라가서 tar 명령어를 적용하는데 
압축 파일이름은 backup.tgz로 하고 압축시 /proc , /lost+found , /mnt , /sys, /media 는 제외하자는 겁니다.
각자 사정에 맞춰서 제외할 디렉토리는 더 추가하시면 되겠죠.

그런 후에 backup.tgz파일을 dvd로 굽든 랜으로 다른 컴터로 옮기시든 하시면 되겠죠.

압축 종료후 나오는 'tar: Error exit delayed from previous errors'란 메세지는 쌩까시면 됩니다.
압축률을 좀더 높이자면 Bzip2나 7zip으로 압축하시면 됩니다.
Bzip2로 압축할 경우 아래 명령어를 쓰시면 됩니다. (cvpzf에서 cvpjf로 옵션을 바꿔야합니다.)

tar cvpjf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/media --exclude=/sys --exclude=/boot /

==============복원===================
backup.tgz는 루트디렉토리에 있어야합니다. 
sudo su
그리고 아래 명령어를 먹여주면 됩니다.
tar xvpzf backup.tgz -C /

Bz2로 압축한 경우 
tar xvpjf backup.tar.bz2 -C /

그러고 나서 압축시 제외했던 폴더는 따로 만들어 주면됩니다mkdir sys.
아래처럼 
mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
mkdir media
etc...
=====================================

만약 압축하고 자시고 하는게 너무 귀찮다하시면 아래 방법을 쓰면 됩니다.
이건 어떤 분 블러그에서 보고 배운건데 
원본 시스템이 깔린 하드 A가 있고 그 시스템을 똑같이 복사할 하드 B가 있다고 하면 
하드 B를 하드 A에 케이블로 연결을 해서 아래 명령어를 적용시키면 됩니다.

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

만약 하드 A 위치가 /dev/hdb이고 하드 B 위치가 /dev/hdc라면 이렇게 되는거죠.

cat /dev/hdb > /dev/hdc

그러면 하드A의 내용이 하드B에 완전히 모조리 똑같이 백업됩니다. 당연히 시스템 디바이스 관련된것도
같이 가니까 사용할 컴터 스펙은 동일해야겠죠.

반응형

'OS > Linux' 카테고리의 다른 글

vi 색상 표기  (0) 2019.05.08
CENTOS 7에 XRDP 설치하기  (0) 2017.08.26
삼성 컴퓨터 유분투 설치기.  (0) 2012.02.06
rkhunter (리눅스 침입 탐지 사용하기)  (1) 2010.10.14
ps auxc 와 ps aux 결과 비교하기  (0) 2010.01.21
반응형

svn 데이터 dump 및 load 방법( Repository 를 MyTest 로 가정)

1. 해당 Repository 가 생성된 상위 directory 로 이동 한다.

2. Repository 를 dump 한다.
  command >> svnadmin dump MyTest > MyTest.20006.09.09.dump
     ->  전체 dump
  command >> svnadmin dump MyTest -r 10 > MyTest.20006.09.09.dump
     -> 리비전 10 만 dump
  command >> svnadmin dump MyTest -r 10:20 > MyTest.20006.09.09.dump
     -> 리비전 10 부터 20 까지 만 dump

3. 새로운 Repository 를 생성 한다. (Repository 를 MyTestNew 로 가정)
  command >> 
svnadmin create MyTestNew

4. dump 된 데이터를 load 한다. (Repository 를 MyTestNew 로 가정)
  command >> svnadmin load MyTestNew < MyTest.20006.09.09.dump
     -> 새로운 리비전 으로 load (리비전 번호는 1부터 생성)
  command >> svnadmin load MyTestNew --force-uuid < MyTest.20006.09.09.dump
     
-> 기존 dump 했던 리비전 유지

# 기존 리비전을 유지 하면 좋은점.
   1. 동일한 URL 일 경우 Client 에서는 별도의 작업이 필요 없이 기존에 사용
      하던 그대로 사용 가능.
   2. URL 이 바뀐 경우는 저장소 URL 변경을 수행후 기존에 사용 하던 그대로 사용 가능.

.



추가로 start_svn.sh 쉘 (svn을 시작하는 쉘)


 PSCNT=`ps -ef | grep -i svnserve | grep -v grep | wc -l | awk {'print $1'}`
 if [ ${PSCNT} -gt 0 ]; then

        echo ""

        echo "SVN Process already Running..."

        echo ""

else

        echo ""

        echo "Run SVN"

        /svn/bin/svnserve -d -r /svn

        echo ""

fi



stop_svn.sh 쉘(svn을 종료하는 쉘)


PSCNT=`ps -ef | grep -i svnserve | grep -v grep | wc -l | awk {'print $1'}`
PSNUM=`ps -ef | grep -i svnserve | grep -v grep | awk {'print $2'}`
if [ ${PSCNT} -gt 0 ]; then
        echo ""
        echo "SVN Process Stopping..."
        kill -9 ${PSNUM}
        echo ""
else
        echo ""
        echo "SVN IS NOT RUNNING..."
        echo ""
fi


반응형

'정부표준프레임워크' 카테고리의 다른 글

Spring Boot Reference Site  (0) 2019.06.19
반응형

홈페이지 : http://www.todo-backup.com/business/free-backup/features.htm 
기능 : 백업 및 복구 (고스트 대체 기능)
장점 : Backup Free 버젼은 freeware 버젼이라는것...

일부 외국 사이트에서는 ghost(고스트) 대체 가능한 프로그램이라고 설명하고 있습니다....
(http://www.raymond.cc/blog/archives/2009/10/31/easeus-todo-backup-free-disk-imaging-software-norton-ghost-alternative/)
 
지원기능들(의역하였습니다...하앍...)

1. 백업
   - 백업시스템 : 윈도우가 동작중일때라도 충돌없이 전체 시스템과 설치된 응용 프로그램까지 백업가능. 
   - 모든파일백업 : 네트워크 공유파일, 정의된 파일 목록등 선택적이나 전체를 풀로 백업 가능.
   - 스케줄 백업 : 시간/일/주/월 단위로 백업 계획을 작성할 수 있고 PC에 대한 백업을 설정하고 잊더라도 정기적 백업이 가능함.
   - 증가 디스크 및 파일 백업 : 마지막 백업된 디스크와 피티션 정보의 변경분 백업으로 저장공간을 절약할 수 있다.
   - 이벤트 기반 백업 : 시스템 시작 / 종료 /가 로그아웃의 사용자 로그온과 같은 이벤트 또는 조건에 따라 백업을 만들 수 있습니다.
    - 이메일 통지 : 성공 또는 실패 모니터링에 대한 이메일 통지
    
...


 너무 길어서... 번역기 돌림..

=========================================================================================================
 지원

백업 시스템 - 다시 전체 시스템 상태를 백업, 윈도우 작업을 방해하지 않고 운영 체제와 - the - fly 방식에 설치된 응용 프로그램을 포함한
모든 파일을 백업 - 네트워크 공유 파일, 지정된 파일 및 폴더와 파일 형식의 종류가 꽉 찼거나 선택 백업할 수 있습니다.
백업 일정 - 시간 / 일 / 주 / 월하여 백업을위한 계획을 작성하고 PC에 "그것을 설정하고 그것을 잊지"백업 정기적으로 백업을 자동화합니다.
증분 디스크 및 파일 백업 - 마지막으로 디스크 / 파티션 또는 파일 백업 이후 파일의 변경 사항을 백업하고 저장 공간을 저장합니다.
이벤트 기반 백업 - 시스템 시작 / 종료 /가 로그아웃의 사용자 로그온과 같은 이벤트 또는 조건에 따라 백업을 만들 수 있습니다.
이메일 통지 - 이메일 통지하고 성공 또는 실패를 모니터링보고.
유연한 백업 스토리지 - 더블 보호를위한 백업 시스템 또는 로컬 하드 드라이브에 데이터를 외장 하드 드라이브, USB 드라이브 또는 CD / DVD가 재해가 발생하는 경우.
디스크 및 파티션 백업 - 전체 하드 디스크 또는 시스템 보호 또는 마이 그 레이션에 대한 파티션을 백업.
회복

선택적 파일이 복원 - 선택 전체 이미지를 복구하지 않고 파일 및 백업 이미지에서 폴더를 복구
유니버설 복원 - WinPE 부팅 디스크를 만든 다음 쉽게 하드웨어 교체를위한 ...와 비슷하지 않은 하드웨어 구성으로 시스템을 복원하거나 마이 그 레이션하는 몇 가지 단계를.
디스크 및 파티션 복구 - 빠른 전체 하드 디스크 또는 하드 디스크를 업그레 이드 및 마이 그 레이션하는 원본 또는 다른 하드웨어 파티션을 복구합니다.
백업 이미지 파일을 탐색 세밀한 수준으로 복원 - 탐색 복사 및 Windows 탐색기에서 백업 이미지에서 직접 파일과 폴더를 복원합니다.
종합 백업 관리

디스크 공간을 절약하기 위해 오래된 이미지를 삭제 - 시간 설정에 따라 자신의 디스크 공간을 절약하기 위해 자동으로 덮어 씁니다 / 삭제 된 이미지.
압축 - 저장 공간을 최적화하기 위해 압축 백업.
분할 백업 - 미디어에 맞게 분할 백업 이미지 파일 크기로.
편집,보기 백업 작업 / 계획 삭제 중앙 관리 콘솔에 있습니다.
백업 업데이트 - 적시 보호를위한 백업 변경 사항을 업데이 트하십시오.
백업 지속적인 지표 일정 - 일정이 진행 여부를 적시에 통지를하고, 허용 수동으로 일정을 취소합니다.
이중 보호를위한 서버를 FTP로 백업 - 원격 FTP 서버로 PC와 파일을 백업 및 이중 즉각적인 오프 사이트 백업을 사용하여 PC를 보호합니다.
P2V 이미지 파일 지원을 변환 - 가상 머신에서 실행하는 VM웨어 또는 가상 PC를 포맷으로 하드 디스크 또는 파티션 이미지 파일을 변환합니다.
사전 / 사후 명령 - 이후 또는 백업 작업을하기 전에 명령을 실행 명령을 (스크립트) 정의합니다.
보고 로그 - 기록과 PC에 대한 모든 작업을 볼 수 있습니다.
고급 백업 및 디스크 도구

디스크 클론 - 하드 디스크의 정확한 이미지 복사본을 생성하고 정확하게 다른 모든 파일을 마이 그 레이션.
파티션 클론 - 파티션의 정확한 이미지 복사본을 생성하고 정확하게 다른 모든 파일을 전송합니다.
이미지를 확인 - 이미지 파일의 무결성을 확인하고 백업이 성공적으로 복원할 수 있는지 확인하십시오.
마운트 / 마운트 해제 이미지 - 그것에있는 파일을 탐색하거나 복사하는 가상 파티션 (일반, 논리 드라이브로 작업)에 디스크와 파티션 이미지를 마운트.
보안

백업 이미지에 대한 비밀 번호 보호 - 무단 액세스로부터 백업 이미지를 보호할 수 있습니다.
데이터를 닦아 - 모든 민감하거나 기밀 파일을 영구적으로 필요한 경우를 닦으십시오.
다중 작업 환경

지원 Windows 2000/XP/Vista/7



=========================================================================================================

복구시 아래 링크와 같은 방법으로 부팅 디스크를 만들수 있다

http://www.todo-backup.com/products/features/winpe-bootable-disk.htm
 
반응형

'UTILITY' 카테고리의 다른 글

ERD 관련 프로그램 들...  (0) 2011.08.19
registry first aid platinum v 8.1  (1) 2011.08.08
외장 장치 쓰기 금지 미디어 일때 사용방법  (0) 2011.07.23
Acroedit 소개  (0) 2011.06.28
NetDrive 설정해 보기  (0) 2011.06.28
반응형


exp system/oracle file=exp_pipe full=y log=daily.log buffer=80960000 CONSISTENT=y & gzip < exp_pipe > DW_FULL_BACKUP.dmp.gz



exp는 보조 백업의 의미로 테이블 단위의 복구가 필요할 때 주로 사용한다.
하지만 장애시점까지의 복구가 아니라 백업받은 시점으로의 복구만 가능하다.
0. exp/imp 제한
   - Export 파일(.dmp)을 네트워크를 통해 전송할 때는 반드시

     이진(Binary) 형태로 전송
   - SQL*Net 을 이용해서 exp/imp를 수행할 수 있음

     (exp userID/password@TNS_ALIAS ...)
   - Stored Procedure, 함수, 패키지를 Import 할 때 재 컴파일의

     필요성이 생길 수 있음
   - exp 도중에 시퀀스(sequence)를 사용하게 된다면,

     시퀀스 번호는 skip 될 수 있음
   - imp할 때 Long Type의 컬럼은 언제나 성공적으로 수행되는 것은 아님

     (imp 대신 copy 명령 사용)
1. 일반적으로 많이 사용하는 exp/imp 명령어
   ---------------------------------------
   % exp userid/password file=./dmp/TEST.dmp          \
         direct=y buffer=10240000 grants=y            \
         compress=n constraints=y indexes=y rows=y    \
         triggers=n tables=XXXX,YYYY,ZZZZ             \
         feedback=10000 log=./log/exp_test.log
   % imp dbaid/password file=./dmp/TEST.dmp           \
         fromuser=userid touser=otherid               \
         commit=y ignore=y buffer=10240000 grants=y   \
         constraints=y indexes=y rows=y               \
         tables=XXXX,YYYY,ZZZZ                        \
         feedback=10000 log=./log/imp_test.log
2. pipe를 통하여 백업 & 압축하는 exp/imp 명령어
   --------------------------------------------
   % rm /tmp/exp_test
   % /usr/sbin/mknod /tmp/exp_test p
   % compress </tmp/exp_test> ./dmp/TEST.dmp.Z &
   % exp userid/password file=/tmp/exp_test           \
         direct=y buffer=10240000 grants=y            \
         compress=n constraints=y indexes=y rows=y    \
         triggers=n tables=XXXX,YYYY,ZZZZ             \
         feedback=10000 log=./log/exp_test.log
   % rm /tmp/exp_test
   % rm -f /tmp/imp_test
   % /usr/sbin/mknod /tmp/imp_test p
   % uncompress<./dmp/TEST.dmp.Z> /tmp/imp_test &
   % imp dbaid/password file=/tmp/imp_test            \
         fromuser=userid touser=otherid               \
         commit=y ignore=y buffer=10240000 grants=y   \
         constraints=y indexes=y rows=y               \
         tables=XXXX,YYYY,ZZZZ                        \
         feedback=10000 log=./log/imp_test.log
   % rm -f /tmp/imp_test
    참고) exp와 imp를 연결하여 실행
          ftp가 지원되지 않고 TNS로 연결이 가능한 경우 사용한다.
          (파이프를 이용하여 exp하고 곧바로 imp로 연결하여 실행)
          % vi exp_and_imp.sh

            rm  /tmp/exp_node
            /usr/sbin/mknod /tmp/exp_node p
            exp dbaid/password@TNS_ALIAS FILE=/tmp/exp_node OWNER=us_test \

                INDEXES=n BUFFER=204800000 DIRECT=y LOG=exp_test.log &
            imp dbaid/password FILE=/tmp/exp_node FROMUSER=us_test        \

                TOUSER=us_test INDEXES=n COMMIT=y BUFFER=204800000        \

                FEEDBACK=100000 IGNORE=y LOG=imp_test.log
            rm  /tmp/exp_node
                 :wq

3. 파티션된 테이블의 파티션 exp 명령어
   --------------------------------------------
   % exp userid/password file=./dmp/TEST.dmp                     \
         direct=y buffer=10240000 grants=y                       \
         compress=n constraints=y indexes=y rows=y               \
         triggers=n tables=XXX:PT_XXX_2007,YYY:PT_YYY_2007       \
         feedback=10000 log=./log/exp_test.log
   % imp dbaid/password file=./dmp/TEST.dmp                      \
         fromuser=userid touser=otherid                          \
         commit=y ignore=y buffer=10240000 grants=y              \
         constraints=y indexes=y rows=y                          \
         tables=XXX:PT_XXX_2007,YYY:PT_YYY_2007                  \
         feedback=10000 log=./log/imp_test.log
   % rm -f /tmp/imp_test
4. FILESIZE를 이용한 SPLIT exp/imp 명령(8i)
   --------------------------------------------
   % exp userid/password file=./dmp/TEST01.dmp,                  \
                              ./dmp/TEST02.dmp,                  \
                              ./dmp/TEST03.dmp                   \
         direct=y buffer=10240000 grants=y                       \
         compress=n constraints=y indexes=y rows=y               \
         feedback=10000 filesize=100M log=./log/exp_test.log     \
         tables=TEST
   % imp dbaid/password file=./dmp/TEST01.dmp,                   \
                             ./dmp/TEST02.dmp,                   \
                             ./dmp/TEST03.dmp                    \
         fromuser=userid touser=otherid                          \
         commit=y ignore=y buffer=10240000 grants=y              \
         constraints=y indexes=y rows=y                          \
         tables=TEST                                             \
         feedback=10000 log=./log/imp_test.log
5. remote에서 exp하는 명령어
   --------------------------------------------
   % exp userid/password@TNS_ALIAS file=./dmp/TEST.dmp          \
         direct=y buffer=10240000 grants=y                      \
         compress=n constraints=y indexes=y rows=y              \
         triggers=n tables=XXXX,YYYY,ZZZZ                       \
         feedback=10000 log=./log/exp_test.log

참고) \는 UNIX에서 다음 라인과 이어진다는 표시의 기호임.

반응형
반응형

EXPORT 시 QUERY OPTION에 대한 사용 예(ORACLE 8I 이상)
============================================

PURPOSE
============
oracle 8i에서 export 시 query option에 대한 사용 예


8i에서 export의 query syntax 를 이용하여 table data의 한 부분만 exporting 이 가능


- 8i 에서 select 문장의 where 절을 사용하는 것처럼 export 시에 부분적으로 table data 를 받아 낼수 있는 기능을 소개 한다.
- Direct 옵션은 사용될 수 없다..
- where 절에 해당하는 export utility는 query parameter 를 사용한다.

UNIX syntax:



- Example:
1.SCOTT.Emp table의 ename 이 JAME과 비슷한 이름의 data 를 export ..
exp scott/tiger query=\"where ename like \'JAME%\'\" tables=emp file=exp.dmp log=exp.log


2. employee와 cust table에서 new york 주의 data 만 export ..
exp scott/tiger query=\"where st=\'NY\'\" tables=(employee,cust) file=exp.dmp log=exp.log

query 문장에서 UNIX reserved characters( ", ', ,< .. 등) 를 사용하는 경우에는 escape ('\') 을 반드시 사용해야 한다.
예)query=\"where JOB = \'SALESMAN\' and salary \< 1600\"

더 중요한 것은 command line에서 export option을 사용할때는 반드시 escape 이 있어야 하나
parfile을 사용할때는 eacape이 불필요하다.

예를 보면 .. p라는 이름의 file을 다음과 같이 생성
tables=emp query="where job='SALESMAN'"

parfile을 이용해서 export 를 실행해 보면
[rmtdchp6]/apac/rdbms/64bit/app/oracle/product/9.2.0> exp scott/tiger parfile=p

Export: Release 9.2.0.4.0 - Production on Wed Mar 17 00:12:34 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses KO16KSC5601 character set (possible charset conversion)

About to export specified tables via Conventional Path ...
. . exporting table EMP 4 rows exported
와 같이 정상 처리 됨을 알수 있다.

만일 command line에서 위의 내용을 실행하게 되면 다음과 같이 error 를 만난다.
exp scott/tiger tables=emp query="where job='SALESMAN'"

LRM-00101: unknown parameter name 'job'

EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully

command line에는 query 내에 single(')나 double quotes(") 를 사용한다면 반드시 double quotes(") 를 사용하여
query 문을 묶어야 한다.그러나 query 내에서 single ('')나 double quotes(") 를 사용하지 않는다면 single quotes (')을 사용하여
query 문을 수행할 수도 있다..

다음 예를 보면..
1>exp scott/tiger tables=emp query=\'where deptno=20\'

Export: Release 9.2.0.4.0 - Production on Wed Mar 17 00:22:00 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses KO16KSC5601 character set (possible charset conversion)

About to export specified tables via Conventional Path ...
. . exporting table EMP 4 rows exported

2>exp scott/tiger tables=emp query=\'where job=\'SALESMAN\'\'

LRM-00112: multiple values not allowed for parameter 'query'

EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully

즉.. 정리를 하자면
command line에서 query 내에 '," 을사용하지 않는 다면 '나 " 으로 query option을 사용할수 있다
query=\'where deptno = 20\'
query=\"where deptno = 20\"
query=\'where deptno \< 2\'
(이 경우 single 이나 double quotes 을 둘다 사용할수 있다.)

parfile을 사용하는 경우에는 다음과 같이 단순하게 사용이 가능하다.
query='where deptno = 20'
query="where deptno = 20"
query='where deptno < 20'


WINDOWS NT / 2000 와 NETWARE syntax:


다음의 자료를 참조바란다.

Example:

EXP demo/demo tables=emp file=exp1.dmp query="""where deptno>30"""

double quotes(") 를 둘러 싸는 경우에는 space 가있으면 안된다.

parfile의 사용은 다음과 같이 하시면 됩니다.

file=exp66.dmp
query="where deptno > 20"
tables=(emp)
log=log66.txt
userid=scott/tiger


Explanation


Windows NT or Win2000의 경우 command line에서는 3 double quotes 이 필요하고
'PARFILE 을 사용하는 경우에는 double quotes(") 한번만 필요함

Reference Documents


Oracle8i Utilities guide
Note:91864.1

출처 : http://kr.forums.oracle.com/forums/thread.jspa?messageID=1698906
반응형

+ Recent posts