OS/Server > Unix/Linux공통

디렉토리 복사 (rsync 사양) / AIX HP-UX @ 개행 / 느낌표 ! 를 문자열로

#linux#centos#data#backup#서버간#파일복사#copy#another server#hp-ux#newline#자동#command명령어

 

사용방법

rsync options source target

옵션정보
옵션 옵션 full 내용
-a --archive archive모드  -rlptgoD 와 동일하다.
-r --recursive 서브디렉토리를 모두 포함
-l --links symbolic link 는 symbolic link의 형태를 유지한다. 동일하게 복사
-p --perms 퍼미션정보의 형태를 유지한채 복사
-t --times timestamp 정보를 유지한채 복사
-g --group 그룹의 소유권을 유지한채 복사
-o --owner 소유권을 유지한채 복사
-D   device file 보존
-h   인간이 읽기편한 형태로 포멧출력
-v --verbose 상세로그를 출력
-q --quiet 상세로그를 표시한지 않음
  --delete source에 없는 파일은 target에서 삭제 (원본에 없고 백업대상에만 존재하는 것은 없어진다)
  --exclude 제외할 파일/디렉토리 지정
  --include 포함할 파일/디렉토리 지정
-n --dry-run 가상으로 실시, 실제 실행될 것을 미리 보여줌
-b --backup target에 이미존재하는 파일/폴더는 backup 디렉토리에 백업한다.
-u --update target에 source보다 최신것이 있으면 복사하지 않는다.
-e   추가옵션 ssh port지정 ex) -e 'ssh -p 10000'
-z   data 파일을 압축한다.
  --progress 진행내역을 표시

 

디렉토리 복사 샘플 - 일부 디렉토리 제외

※ sourceDir 디렉토리 안의 내용을 targetDir 에 복사한다. 단, exDir1,exDir2,logs 디렉토리는 복사하지 않는다.

rsync -av --progress sourceDir/* targetDir --exclude exDir1 --exclude exDir2 --exclude logs
rsync -av --progress sourceDir/ targetDir --exclude exDir1 --exclude exDir2 --exclude logs

※ sourceDir/* , sourceDir/  에서 / 를 빠트리면 targetDir/sourceDir  과 같이 sourceDir 디렉토리를 생성한다.

 

SCP 를 사용한 서버간 파일 복사

포트를 지정한 A서버에서 B서버로 복사

※ 타겟서버에 동일한 파일은 덮어쓰기로 복사된다. (insert update)

※ 디렉토리를 복사한다. (위에는 디렉토리부터 복사, 아래는 해당 디렉토리 이하를 복사한다.
$ scp -P 2022 -r {source directory} {user}@{IP}:/data/mc/
$ scp -P 2022 -r {source directory}/* {user}@{IP}:/data/mc/

 

※ HP-UX 에서 셸에 @ 가 개행이되면 

    stty -a
        intr = DEL; quit = ^\; erase = ^H; kill = @
    stty kill "^u"   등으로 변경한다.

※ 디렉토리를 복사한다. (위에는 디렉토리부터 복사, 아래는 해당 디렉토리 이하를 복사한다.
$ scp -P 2022 -r {source directory} {user}@{IP}:/data/mc/
$ scp -P 2022 -r {source directory}/* {user}@{IP}:/data/mc/

 

셸에서 ! 를 문자열로 사용 못할경우 (패스워드등)

  history 기능을 해당 셀에서 사용하지 않을경우 아래와 같이 꺼놓은 상태에서 사용

set +H