rsync 하기 2

리눅스/Network|2015. 1. 27. 09:08
반응형

[원본 서버에서 / 192.168.10.2]

 

1) 설치
[root@sysdocu ~]# yum -y install rsync

 


2) 설정
[root@sysdocu ~]vi /etc/rsyncd.conf

 

rsyncd.conf 파일을 생성하여 아래 내용을 입력해줍니다.

log file = /var/log/rsyncd.log        <-- 로그 쌓이게 하려면 적어줍니다.
 
[mirror]
path = /
uid = root
gid = root
use chroot = yes
read only = yes                          <- 2차서버에서 읽어가기만 하려면 yes, 수정까지 가능하게 하려면 no
hosts allow = 192.168.10.3       <- 접속 허용할 IP (보안 효과)
max connections = 2
timeout = 1000

 

아래 파일을 수정하여 rsync 를 허용합니다.

[root@sysdocu ~]vi /etc/xinetd.d/rsync

 

disable = no

 

* CentOS 7 에서는 xinetd 없이 systemctl start rsyncd 하면 됩니다.

   (부팅시 자동 구동 : systemctl enable rsyncd)

* CentOS 8 에서는 데몬 형식으로 실행해주거나 별도로 패키지를 더 설치해야 합니다.

   # dnf install rsync

   # dnf install rsync-daemon

   # systemctl start rsyncd

   or

   # rsync --daemon --config=/etc/rsyncd.conf

 


3) 적용
xinetd 를 재시작하여 rsyncd 를 구동합니다.

[root@sysdocu ~]/etc/init.d/xinetd restart


※ iptables 사용중이라면 873 포트를 오픈시켜줍니다.

 

 

[2차 서버에서 / 192.168.10.3]

 

아래 명령어 처럼 사용하면 됩니다.
아래는 sysdocu 사용자의 public_html 폴더를 가져오는 형태입니다. (변경된, 생성된 파일만)

 

[root@sysdocu ~]rsync -avzPog --bwlimit=1024 --delete 192.168.10.2::mirror/home/sysdocu/public_html /home/sysdocu/

 

※ 옵션 설명
--delete : 원본 서버에 없는 파일은 2차 서버에서도 지울것

--bwlimit : 데이터 전송속도 KBps (1024 = 초당 1MB)

 

반응형

댓글()

Oracle 자동 백업 스크립트

리눅스/MySQL|2015. 1. 27. 09:08
반응형

/root/oracle_backup.sh 파일을 만들어 아래 내용을 삽입합니다.

각자의 시스템에 맞게 수정 할 곳 수정하시고 사용하시면 됩니다.

 

root@sysdocu:~vi /root/oracle_backup.sh

 

#!/bin/sh

backupdir = /backup

find /backup/oracle/ -ctime +15 -exec rm -rf {} ;

sysdtime=`date +%Y%m%d`

db_backupdir="$backupdir/oracle/$sysdtime"

mkdir -p "$db_backupdir"

exp userid=system/sysdocupassword0000 full=y file=$db_backupdir/$sysdtime.full.dmp.ing log=$db_backupdir/$sysdtime.full.log

 

 

그리고 주기적으로 실행될 수 있도록 crontab 에 등록합니다.

 

root@sysdocu:~crontab -e

 

00 4 * * * su - root -c /root/orable_backup.sh

 

반응형

댓글()

rsync 사용시 타서버 ssh port가 다를때

리눅스/OS 일반|2015. 1. 27. 09:07
반응형

접속하려는 서버의 ssh 포트가 777  일경우


rsync -avzPog --rsh='ssh -p777' /home/test/* root@sysdocu.tistory.com:/home/test

반응형

댓글()

lftp를 활용한 미러링

리눅스/FTP|2015. 1. 27. 09:06
반응형

쉘 스크립트를 만들어야 합니다. 

1일 1회 동기화 하시려면 
/etc/cron.daily 에 ftp_backup.sh 등의 파일을 만들고 아래 내용을 적습니다. 

root@sysdocu:~# vi /etc/cron.daily/ftp_backup.sh

    #!/bin/sh 
    lftp -f /root/lftp_backup 

그리고 /root/lftp_backup 스크립트 파일을 생성후 아래 내용을 적습니다. 

root@sysdocu:~# vi /root/lftp_backup

    lftp -u USERID,USERPASS 192.168.10.2    <- 원격지 IP에 해당 계정으로 로그인 
    cd mysqldump                                        <- 원격지의 mysqldump 폴더로 이동 
    lcd /backup/mysqldump                            <- 로컬 데이타 폴더로 이동 
    mirror -Raec                                            <- 미러링 (원본서버를 원격지로 동일하게) 

[참고] mirror 옵션 
R : 리버스 (해당 옵션을 넣으주면 원격지 파일이 원본서버와 동일해집니다. 옵션이 없을경우 원격지의 상태와 동일하게 구성됌. 해당옵션 주의 요망!) 
a : 권한을 동일하게 함 
e : 원본서버에 없는 파일이 원격지에 있을경우 삭제 
c : 파일전송 계속 

/root/lftp_backup 파일의 퍼미션은 700 으로 설정해줍니다. 
man lftp 로 기타 옵션의 자세한 설명을 볼 수 있습니다.


반응형

댓글()

ncftp 자동 백업 스크립트

리눅스/OS 일반|2015. 1. 27. 09:06
반응형

[ 로컬 /backup 에 있는 데이타를 외부 서버(sysdocu.tistory.com)로 전송 ]


backup.sh (실행 파일이다. cron에 등록하여 주기적으로 백업하도록 한다.)

----- 내용 -----
#!/bin/sh

cd /backup;
ncftpput -E -f /root/backup_ncftp.cfg . /backup/*
ncftpput -R -f /root/backup_ncftp.cfg . /backup/*
------------------


backup_ncftp.cfg (접속 정보 파일)

----- 내용 -----
host sysdocu.tistory.com
user test
pass 1111
------------------


* 참고
   일반적인 접속 방법 : ncftp -u test -p 1111 sysdocu.tistory.com

반응형

댓글()

I/O error 로 인해 데이타 복사가 불가능할때

리눅스/OS 일반|2015. 1. 27. 09:05
반응형

원본파일이 있는 디렉토리에서 아래 명령 실행.

예) # cd /home_old   <- 원본파일
      # tar cvpf - * | ( cd /home ; tar xpvf - )

반응형

댓글()

파일시스템 체크 도중 'Could this be a zero-length partition?'

리눅스/OS 일반|2015. 1. 27. 09:05
반응형

Could this be a zero-length partition? 라는 에러 메세지 출력시 하드디스크를 재장착 하고 재시도 하면 되기도 합니다.


반응형

댓글()

rsync 하기 (패스워드 물어보지 않게하기)

리눅스/OS 일반|2015. 1. 27. 09:05
반응형

서버는 놔두고 클라이언트에서만 설정 합니다.


# ssh-keygen -t rsa

// 계속 엔터


# scp -p ~/.ssh/id_rsa.pub root@192.168.10.2:~/.ssh/authorized_keys

// 빨간색은 서버 IP 와 계정

// 패스워드 한 번 입력


이제 rsync 명령으로 패스워드 묻지않고 전송이 가능해졌습니다.


# rsync -avzPog -e ssh root@192.168.10.2:/etc/hosts .


반응형

댓글()

scp 명령어 (ssh를 이용한 백업)

리눅스/OS 일반|2015. 1. 27. 09:04
반응형

1. scp -r 명령구성

1) 업로드 ( 현재서버의 내용을 다른서버(211.204.72.43)로 보냄 )

# scp -r [복사할 파일 경로] ssh접속계정명@호스트명 또는 IP:/(저장 될)디렉토리명

예] scp -r /tmp kil@211.204.72.43:/home/kil

2) 다운로드 ( 다른서버(211.204.72.43)에서 현재 서버로)

# scp -r ssh접속계정명@호스트명 또는 IP:/복사할 파일 경로 /(저장 될)디렉토리명

예] scp -r kil@211.204.72.43:/data /backup


2. 스크립트로 작성

※ scp 명령으로 보안셀을 이용한 백업 스크립트를 작성하기 위해서는 PW를 묻는 과정을 없애기 위해 개인키, 공개키를 이용할 필요가 있다.

1) 양쪽에 사용자 계정을 각각 생성한다.
데이터를 보내려는 서버 : server
백업서버 : backup

2) server에서 키 생성
# su - server
ssh-keygen -d 
   ; DSA 비밀키와 공개키 생성
   ; 인증키 /home/server/.ssh 디렉토리에 생성 됨.
# cd .ssh
# ls -al
   ; id_dsa가 비밀키, id_dsa.pub가 공개키
# scp -r .ssh backup@211.204.72.45:/home/backup
   ; 생성한 키값을 백업서버로 보냄

3) backup서버에서 설정
# su - backup
# cd .ssh
mv id_dsa.pub authorized_keys
# rm -f id_dsa known_hosts

4 server에서 스크립트 생성 
--------------------------------------------------------------
#!/bin/bash
scp -r /data  backup@211.204.72.45:/home/backup
--------------------------------------------------------------

5 cron에 등록하여 사용



[출처] https://m.blog.naver.com/PostView.nhn?blogId=ddakawar&logNo=60192728971&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

반응형

댓글()

GRUB 복구(재설치) 작업 - Fedora 4 기준

리눅스/OS 일반|2015. 1. 27. 09:04
반응형

grub 복구(재설치) 작업

   가. boot:linux rescue                      (설치시디로 복구모드 부팅)

   나. 네트워크설정 No ->  Continue    (부팅시 몇가지 설정)

   다. 기존의 시스템으로 전환
        #> chroot /mnt/sysimage          (Root 디렉토리를 위치를 전환)
        a) #> ls /boot/grub/menu.lst               (grub이 올바르게 남아있는지 확인)
        b) #> ls /dev/ [enter]                         (장치 인식되었는지 확인)
        c) HDD를 1개만 꼽을 것을 권장    (HDD 여러개 꼽혔을 경우, 장치 인식안되는 경우 있음)
        d) 필자의 경우 Fedora Rescue CD가 정상적으로 잘 작동 및 인식되었음.

   라. HDD의 MBR에 grub 설치
        방법1. #> /sbin/grub-install /dev/hda   ( MBR에 grub 설치)

        방법2. #> /sbin/grub                         (grub prompt를 띄움) 
                      grub>  root (hd0, 1)             (grub가 위치한 HDD/Partition 위치지정 )
                      grub>  setup (hd0)              (grub를 HDD의 MBR에 설치)
                      grub>  quit                         (grub에서 빠져나옴) 
                      grub>  reboot                     (OS 재부팅..)

반응형

댓글()

CentOS 에서 grub 부트매니저 복구

리눅스/OS 일반|2015. 1. 27. 09:03
반응형

1. CentOS 시디 또는 DVD로 부팅한다.

2. boot : linux rescue 입력한다.

3. 언어는 English 선택한다.

4. 키보드는 us 선택한다.

5. 화면에서 알려주기를 리눅스를 찾으면 /mnt/sysimage 디렉토리로 마운트 할꺼라고 한다.

root환경에서 작업하려면 chroot /mnt/sysimage 명령을 사용하라고 한다.

여기서 Continue를 선택한다.

6. 쉘이 나타난다. 여기서 아래 명령으로 root환경으로 작업한다.

chroot /mnt/sysimage

다음으로 ls 명령을 입력해보면 기존의 리눅스 디렉토리들이 보인다.

ls 

쉘에서 기존의 grub.conf 설정의 root파티션 정보를 보려면 아래와 같이 명령을 입력해 본다.[ root (hd0,2) ]

cat /boot/grub/grub.conf


7. grub를 실행한다.

/sbin/grub

8. grub가 실행된 grub 쉘에서 아래와 같이 입력한다.

root (hd0,2) <= 이것은 첫번째 하드디스크의 3번째 파티션이 root 파티션이라는 의미.
setup (hd0) <= 첫번째 하드디스크의 mbr에 grub를 설치한다는 의미.
quit <= grub 쉘 나가기.

9. 쉘로 나오면 reboot 명령을 입력하여 재부팅한다.

reboot

반응형

댓글()