티스토리 툴바


달력

03

« 2012/03 »

  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'2012/03'에 해당되는 글 2

  1. 2012/03/26 터미널에서 git의 자동완성 기능 사용하기.
  2. 2012/03/22 ssh와 rsync를 이용한 백업

git을 컴파일 하셔서 설치 하셨으면 gitd의 다운로드 받은 소스에서  contrib/completion에 보시면 git-completion.bash라는 파일이 있을 겁니다.
이 파일을 홈 디렉토리에 카피하고 .bashrc 파일에 아래 내용을 추가합니다.

source ~/.git-completion.bash

하지만 git을 컴파일해서 사용하지 않고, yum이나 apt-get으로 설치 하신 분들은.

 # find / -type f -name "git-completion.bash" -print
/usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash


찾은 내용을 .bashrc파일에 넣어 줍니다.

source /usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash

이렇게 하고 나면, git 명력을 입력 할 때 <TAB>키를 누르면 제안하는 명령어들이 출력 됩니다.

# git co<Tab><Tab>
commit config


이런 식으로~

그럼 즐 git 하세요~


저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하
2012/03/22 14:18

ssh와 rsync를 이용한 백업 컴퓨터2012/03/22 14:18

리눅스 시스템 사이에서 백업을 해야 할일이 생겨서 이것저것 찾아 보다가..
rsync를 사용하기로 했습니다.

우선 ssh를 통해서 rsync 백업을 할려고 하면, password를 묻습니다.
한번씩 할 때는 패스워드를 치면 상관없지만, crontab을 사용해서 주기적으로 할려고 하면 문제가 발생합니다.

해결하는 방법을 이것저것 찾았는데 2가지 정도가 나오네요.

첫번째ssh-keygen을 통해서 패스워드를 묻지 않게 하는 방법 입니다.
# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): <ENTER>
Enter passphrase (empty for no passphrase): <ENTER>
Enter same passphrase again:  <ENTER>
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
58:bd:ef:fd:3b:62:79:2e:ea:de:c4:73:2d:7d:11:2b root@web-tl
The key's randomart image is:
+--[ DSA 1024]----+
|                 |
|         .       |
|        . .    . |
|       o   .    o|
|      . S .  E o |
|           .. ..o|
|            .+o.+|
|           .o*o+.|
|          o++.*++|
+-----------------+
# cat ~/.ssh/id_dsa.pub | ssh [원격ID]@[원격HOST] "cat >> .ssh/authorized_keys"
password: 암호입력<ENTER>
# _

이렇게 설정을 해 두면, 해당 원격 서버에 접속할때 암호를 전혀 묻지 않게 됩니다.

# rsync -avzP -e ssh [원격HOST]:/home/source /home/target


이런식으로 백업 하시면 됩니다.

하지만, 뭔가 찝찔하죠..
누구나 이 자리에 앉으면 패스워드를 몰라도 원격 호스트에 접근을 할 수 있게 되죠...


두번째sshpass를 사용해서 접근하는 방법니다.
CentOS나 fedora에서는 기본 yum해서는 들어 있지 않습니다.
아래와 같이 epel을 통해서 받습니다.

# sudo su -
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
# yum update
# yum -y install sshpass

이렇게 설치해 주시면 됩니다.
Ubuntu를 쓰시는 분들은 apt-get으로 받으세요.

# sudo apt-get install sshpass

sshpass을 사용법을 알아보면..  아래와 같습니다.

sshpass -p '[암호]' ssh [원격ID]@[원격HOST]

# sshpass -p 'myPassword' ssh username@server.example.com

이런식이죠...

그러면, 이걸로 rsync를 해 봐야 겠죠?

# rsync --rsh="sshpass -p myPassword ssh -l username" server.example.com:/var/www/html/ /backup/

이렇게 하시면 됩니다.

참 쉽죠?

여기서 주기적으로 백업을 하고 싶다면..

# crontab -e

이렇게 뛰우시고 내용을 수정하시면 됩니다.
*/5 * * * * rsync --rsh="sshpass -p myPassword ssh -l username" server.example.com:/var/www/html/ /backup/

이렇게 해 두면 5분 주기로 백업이 진행 됩니다.

저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하