2010년 4월 19일 월요일

rsync를 이용해서 백업을 해보자

#######################################
# 서버에 있는 데이터를 다른 host에 백업해 보자
#######################################
1. 참고 자료
  rsync 를 이용하여 윈도우즈 백업하기 Mini-HOWTO

2. 따라 해보기 - rsyncd 설정 및 실행

   . Data-server의 Data를 store-server로 백업 해보자.

   . backup될 장소(store-server)에 /etc/rsync.conf를 설정하고

   . rsync 명령으로 Data-server에서 store-server로 data 전송한다.

 a. rsyncd 설치

     . Data-server, store-server에 깔아야 한다.


 a. rsyncd 활성화 (store-server)

    . /etc/xinetd.d/rsync 파일의 disable = yes 부분을 disable = no로 해준다.

  . service xinetd restart 명령으로 rsync를 실행시킨다.


   a. /etc/rsyncd.conf 설정 (store-server)

   : 이 파일의 소유권을 root:root 로, 퍼미션을 644(rx-rr)로 바꾸어주자

  [ BackupConnection1 ]
    path = /home/data #백업되는 데이터가 저장되는 위치.
    comment = Data backup
    uid = user2 # 백업될 /home/data에 접근 가능한 계정 이어야 한다.
    gid = backup # group id
    read only = false
    auth users = user # server에 있는 계정과는 관련 없어도 되며 password는 /etc/rsyncd.secrets file에 담아 두면 된다.
    secrets file = /etc/rsyncd.secrets

 a. /etc/rsyncd.secrets 설정 (store-server)

   : 이 파일의 소유권을 root:root 로, 퍼미션을 600으로 바꾸어주자

     user:password

     user2:password


   a. rsync 실행하기(Data-server에서 실행)
    . rsync -vrtz --delete /home/data/  user2@192.168.xxx.xxx::BackupConnection1

  . 패스워드를 물어보면 /etc/rsyncd.secrets 파일에 써준 암호를 사용한다.


 a. rsync 옵션들
  . --delete : 원본에서 삭제된 파일들을 삭제해 준다.

linux에서 백업 하기

#####################################
# 0. 참고자료
# 1. remote backup
# 2. 원격지의 하드를 로컬로 옮기는 것 
# 3. 압축을 사용한 백업
# 4. tar 를 이용한 백업   
# 5. 다단계 백업
# 6. rsync 를 이용하여 윈도우즈 백업하기 Mini-HOWTO
#####################################
0. 참고자료
 . http://wiki.kldp.org/wiki.php/%BDý%BA%C5۰%FC%B8%AE#s-5
         . Linux Complete Backup and Recovery HOWTO (송호철)
         . Backup using Amanda (유성태)
         . ADSM Backup (공문헌)
         . Rsync-Backup at Windows (김정수)
         . Partimage HOWTO (이돈현)
         . partimage를 사용하여 파티션별 백업과 복구를 하는 방법과 스크립트 사용법
         . 리눅스용 고스트(백업) 프로그램 소개
1. remote backup
 o tar cvfz - directory | rsh host_ip -l sam "cat > file-name.tgz"
 o tar cvf - directory | rsh host_ip "tar xvf - "

 o tar cvf - directory | ssh userid@host_ip "tar xvf - "


2. 원격지의 하드를 로컬로 옮기는 것
 ssh remotehost "cat /dev/hdb" | cat > /dev/hdb

3. 압축을 사용한 백업
http://wiki.kldp.org/Translations/html/SysAdminGuide-KLDP/x2521.html
안타깝게도, 압축된 백업은 문제를 일으킬 소지가 있다. 압축이 이루어지는 근본 원리에 비춰보면, 전체 압축 데이터 중에서 단 하나의 비트만 손상되어도 다른 모든 데이터들이 쓸모 없게 되고 만다
한가지 대안은 각각의 파일을 따로 압축하는 것이다. 이렇게 하면, 파일 하나가 손상되었다고 해서 전체 백업을 모두 날려야하는 일은 없을 것이다. 결국 손상된 파일은 포기할 수 밖에 없지만, 그렇다고 해서 모든 파일을 압축하지 않는 것보다는 >이 방법이 좀 낫다. afio 프로그램(cpio의 개정판)을 쓰면 이렇게 할 수 있다

4. tar 를 이용한 백업
http://wiki.kldp.org/Translations/html/LAME/server-backup.html
``tar'' 를 백업 솔루션으로 사용하기로 결정하였다면 다양한 명령행 옵션을 알기 위하여 시간을 투자할 필요가 있다; 옵션에 대한 설명을 보려면 "man tar" 라고 타이핑하면 된다. 그리고 적당한 백업 매체에 액세스하는 방법도 알아야 할 것이다; 비록 유닉스 세계에서는 모든 장치가 파일과 같이 취급되지만, 테이프와 같은 문자 장치에 기록을 할 때에는 "파일" 의 이름이 장치 자체를 나타낸다. (예를 들어, ``/dev/nst0'' 는 스카시 기반의 테이프 드라이브를 나타낸다.)

다음의 명령은 당신 리눅스 시스템 전체를 ``/archive/'' 파일 시스템에 백업할 것이다. 이 백업에서 빠지는 부분은 가짜 파일 시스템인 ``/proc/'', ``/mnt/'' 에 마운트된 파일 시스템, ``/archive/'' 파일 시스템 (백업 셋트 자체를 다시 백업한>다는 것은 의미가 없다!), Squid 가 사용하는 상당히 큰 캐시 파일이다. (이들을 백업하는 것은, 내 의견으로는, 백업 매체의 낭비이며 필요하지도 않다):tar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz \
    --directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid .


이 명령의 길이에 겁먹지마라! 우리가 명령을 구성 부분으로 쪼개놓고 나면 이 강력한 유틸리티의 아름다움을 알게될 것이다.

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

``--directory'' 옵션은 백업을 시작하기 전에 옵션 뒤에 지정한 디렉토리 경로로 일단 가라는 것을 나타낸다. (우리의 예에서는, ``/'' 디렉토리로 가서 백업이 시작된다.) ``--exclude'' 옵션은 지정한 디렉토리나 파일은 백업하지 말라고 지시한>다. 마지막으로, ``.'' 글자는 현재 디렉토리에 있는 모든 것을 백업해야 함을 나타낸다.

참고: 주의: tar 에 사용되는 옵션은 대소문자를 구분한다는 것을 명심하여야 한다! 게다가, 대부분의 옵션은 한 글자짜리 (예. ``f'') 로 사용될 수도 있고, 좀 더 외기 쉬운 완전한 옵션 이름 (예. ``file'') 으로도 사용될 수 있다. 한 글자짜리>를 쓸 때에는 그 앞에 ``-'' 문자를 붙여야 하고, 완전한 이름을 사용할 때에는 그 글자를 두개를 써야 한다. 다시한번 말하지만, tar 명령에 대한 "man" 페이지를 꼭 참조하기 바란다.

또 하나의 예로서, (앞의 예에서는 전체 를 백업하면서 그 중에 몇가지를 제외하는 방식을 썼지만) 이번에는 지정한 몇개의 파일 시스템만을 스카시 테이프 드라이브에 기록하는 방법을 살펴 보자:tar -cvpf /dev/nst0 --label="Backup set created on `date '+%d-%B-%Y'`." \
    --directory / --exclude=var/spool/ etc home usr/local var/spool


위의 명령에서 ``z'' (압축) 옵션이 사용되지 않았음을 주목하기 바란다. 나는 테이프에 압축된 자료를 기록하는 것을 강력히 반대한다. 왜냐하면, 테이프에 있는 자료의 일부가 깨지면 백업 셋트 전체를 못쓰게 되기 때문이다. 테이프의 일부가 파>손되더라도 압축을 사용하지 않고 저장된 경우에는 파손되지 않은 파일은 상당히 많이 복구할 수 있다.

테이프 드라이브는 문자 장치이기 때문에, 실제 파일 이름을 지정하는 것은 불가능하다. 따라서, tar 에서 파일 이름에 해당하는 인자는 장치의 이름 즉 ``/dev/nst0'' (스카시 버스에 연결된 첫번째 테이프 장치) 와 같은 방식으로 지정하여야 한다
.

참고: 주의: ``/dev/nst0'' 장치는 백업 셋트를 다 기록한 다음 자동으로 되감기를 하지 않는다; 따라서 하나의 테이프에 여러개의 셋트를 기록할 수 있다. (같은 장치를 ``/dev/st0'' 라고 지정하게 되면 백업 셋트가 기록되자마자 테이프는 자동으
로 감기게 된다.)

백업 셋트에 파일이름을 지정할 수 없기 때문에, ``--label'' 옵션을 사용하여 저장 파일 자체에다가 백업 셋트에 대한 추가 정보를 저장할 수 있다.

마지막으로, ``/etc/'', ``/home/'', ``/usr/local'', ``/var/spool/'' 에 있는 파일들만 (Squid 캐시 자료 파일은 빼고) 테이프에 기록된다.

테이프를 이용할 때에는 테이프를 되감거나 꺼내기 위하여 다음과 같은 명령을 사용하게 된다:mt -f /dev/nst0 rewind
mt -f /dev/nst0 offline


작은 정보: 팁: 저장 파일이 만들어질 때 맨 앞에 있는 ``/'' (슬래시) 문자는 잘리는 것을 보게 될 것이다. 이는 tar 의 기본적인 동작 방식으로서 복구하는 과정에서 실수로 중요한 파일을 옛날 버전의 파일로 덮어쓰는 것을 막기위한 것이다. 만>약 이런 식으로 동작하는 것을 원하지 않는다면 (이것도 하나의 기능 이라는 사실을 기억하라!), tar 명령에다가 ``--absolute-paths'' 옵션을 주면 맨 앞의 슬래시가 보존된다. 물론, 나는 이렇게 하는 것이 위험 하기 때문에 권장하지는 않는다!

5. 다단계 백업
http://wiki.kldp.org/Translations/html/SysAdminGuide-KLDP/x2418.html

6. rsync 를 이용하여 윈도우즈 백업하기 Mini-HOWTO
http://wiki.kldp.org/wiki.php/RsyncForWindows

2010년 3월 19일 금요일

미국에서 편지 보내기

####################################################
## 미국에서 편지 보낼때 참고
# 미국의 우편제도
# 우편물 서비스의 종류[편지 배달 종류]
# 우편 요금
# 우체국에서 직원과의 대화
####################################################

# 미국의 우편제도 
   . http://www.usps.com/
   . http://www.littlepirate.net/xe/4679
   . http://www.worldok.com/blog/blog_view_backup.asp?bbsnum=68375

# 우편물 서비스의 종류[편지 배달 종류]
   . First-Class Mail(1종우편, 일반우편) / Priority(빠른우편) / Express(속달우편)
   . 참고 : http://www.littlepirate.net/xe/4679

# 우편 요금 
   1. 일반우편(First-Class Mail)
   생일 축하카드 3장을 하나의 봉투에 넣었더니 $1.82 가 나오네요.
   영수증을 보니 아래처럼 되어 있군요.(맨 아래 그림)
   . 종류 : Korea, Republic of - First-Class Mail Int'l Letter
   . 무게 : 1.50 oz
   . 요금 : $1.82
   1. 그외 종류별 요금은 맨 아래 그림 참조  1. 미국 우편요금 인상, 5월 11일
    . http://www.ebaykorean.com/ebay_forum/1899

# 시간은 얼마나 걸리나?
  1. 일반 우편(First-Class Mail)
   . 금요일날 2시경 부쳤더니 한국시간(+14) 목요일 오후에 받았다고 하네요.
  1. 그외
   . 아래 그림 참고

# 우체국에서 직원과의 대화
  우체국에서 편지봉투를 떡 하고 내미니 두가지를 물어 보는군요.
   1. 편지 배달 서비스를 물어보는데 First-Class 우편은 'Just Stamp?' 라고 묻더군요.
    . Just Stamp, Priority or Express Mail? 이런식으로 ...
  2. 수신지를 Seoul, KOREA로 적었더니 다시 물어보네요.
     . Republic Of Korea 냐고 물어보네요.
  3. 기타
    . 뭐시라 뭐시라~ 하는데 우표를 살거냐는 얘기인듯 ^^;;; 그냥 웃어줌...

# 우편 종류별 요금과 영수증
Flat Rate >>


Variable >

영수증>>

2010년 3월 12일 금요일

crond - 일정한 주기로 뭔가 해보자 - fedora 8

####################################################
## cron - 주기적인 작업이 필요할 때 사용하는 도구 ##
# 1. 참고 사이트
# 2. 간단하게 살펴보기
# 3. 사용 방법 및 보기
# 4. 잘 동작하는지 확인하기
####################################################
1. 참고 사이트
  a. 9.4. Cron 과 Crontab 파일을 이용하여 작업을 자동화하기
    . http://wiki.kldp.org/Translations/html/LAME/using-cron.html
   a. [Cron] 예약실행 크론(Cron,At,Anacron)의 상세 설명 문서
    . http://community.365managed.com/?mid=l_service&listStyle=webzine&page=4&document_srl=936&sort_index=readed_count&order_type=asc

2. 간단하게 살펴보기
a. 개요
   리눅스의 cron 기능은 다른 유닉스와 거의 같게 구현되어 있다. 하지만, 레드햇은 작업의 스케쥴을 잡는데 있어서 다른 리눅스 배포판과는 약간 다른 방식을 채택하고 있다. 다른 배포판과 마찬가지로 스케쥴링 정보는 시스템내의 (``/etc/'' 디렉토리의) ``crontab'' 파일에 다음과 같은 형식으로 저장된다

:분 시 일 월 요일(연) 명령
   # 요일 (0~7, 0과 7은 일요일을 나타냄)
   # 이부분 확인 필요하다. 연도 표시인지 요일인지

   각 항목은 정수로 (예를 들어, 1월부터 12월을 나타내기 위하여 1부터 12사이의 숫자를 사용) 지정할 수도 있고 몇개의 항목은 와일드카드 문자로 인식되>는 ``*'' 문자로 (예를 들어, 월에 해당하는 항목에 * 표시가 있으면 매월 지정된 날짜, 지정된 시간에 명령이 실행된다는 것을 의미한다) 표시할 수도 있다. 몇가>지 예를 들어보면:

3. 사용 방법 및 보기
a. /etc/crontab 파일에 아래처럼 넣어 주면 된다.
   # 매년 6월 15일 오후 4시 30분에 시스템 로그 파일을 메일로 발송한다
30 16 15 06 * for x in /var/log/*; do cat ${x} | mail postmaster; done
   # 관리자에게 계절이 바뀌었음을 자정에 알려준다
   00 00 20 04 * echo 'Woohoo, spring is here!'
   00 00 20 06 * echo 'Yeah, summer has arrived, time to hit the beach!'
a. 위 처럼 넣어준 후 crond 데몬을 재시동 해준다.
   service crond restarat
a. 표준인 ``crontab'' 외에도 레드햇은 몇개의 디렉토리를 추가하였다:
   /etc/cron.hourly/
   /etc/cron.daily/
   /etc/cron.weekly/
   # 이들 디렉토리의 아무 곳에나 실행가능한 파일을 둘 수 있으며, 이들 파일은 각기 매시, 매일, 매주 단위로 실행된다.
a. /etc/crontab 파일 예제
   ----------------------------------------------------------------------------
   /etc/crontab 파일 분석 SHELL=/bin/bash ↙ 시스템이 사용할 쉘의 종류.
   PATH=/sbin:/bin:/usr/sbin:/usr/bin ↙ 실행파일을 찾을 경로 설정.
   MAILTO=root ↙ 예약 작업의 실행 결과를 뒤에 명시된 메일 주소로 보내줌. 메일주소를 비워두면 보내지 않음.
   HOME=/ ↙ 명령을 실행할 때 사용할 홈디렉토리 경로.
   ↙
   # run-parts ↙ 주석. 
   01 * * * * root run-parts /etc/cron.hourly ↙ 매 시간 1분에 실행.
   02 4 * * * root run-parts /etc/cron.daily ↙ 매일 4시 2분에 실행.
   22 4 * * 0 root run-parts /etc/cron.weekly ↙ 매주 일요일 4시 22분에 실행.
   42 4 1 * * root run-parts /etc/cron.monthly ↙ 매월 1일 4시 42분에 실행.
   ----------------------------------------------------------------------------

4. 잘 동작하는지 확인하기
   a. /var/log/cron 파일의 로그를 확인한다.
   a. 아래처럼 로그파일을 만들어 확인한다.
      00 00 20 04 * echo 'Woohoo, spring is here!' >> /home/user/my-cron.log
   a. 스크립트의 실행권한이 설정되어 있는지 꼭 확인하자.


2010년 3월 2일 화요일

mplayer 설치 및 설정 - 한글자막 - fedora

linux에서 mplayer를 사용하는 방법에 대해....
GUI player를 원하면  smplayer 또는 gmplayer를 설치한다.

[ how to ]
1. 자막이 깨져 나오는 경우
  a. ~/.mplayer/config 또는 /etc/mplayer/mplayer.conf파일에 아래처럼 설정한다.
    fontconfig=1
    font=Gulim # 요부분 뺐더니 안되더라
    unicode=1
    subcp=cp949
   b. 아래 2가지 방법을 써도 될듯...(위에 방법 안쓰고)
    - export DISPLAY=ko_KR.UTF-8 명령을 수행하고 play하면 나오더라.
    - 해당 자막 파일을 UTF-8로 변환하고 보면 나올껄?

2. keyboard shortcuts - 키보드 단축키
  a. 자막관련
    v - Toggle subtitle visibility.
    j - Cycle through the available subtitles.
    y/g - Step forward/backward in the subtitle list.
     r and t - Move subtitles up/down.
  a. 이동 관련
   <- and -> : Seek backward/forward 10 seconds.
   up and down : Seek forward/backward 1 minute.
   pgup and pgdown : Seek forward/backward 10 minutes.


  b. 소리 크기
    0/9 - 소리 크기 작게/크게 조절

2010년 1월 19일 화요일

linux에서 serial 포트 사용하기 - uucp, cu


[ linux에서 serail 또는 usb-to-serial 포트 사용방법 ]
o 참고 : Managing Taylor UUCP
o linux(Fedora Core 5)에서 serial 사용방법
o unix(sunOS5.10,netra240)에서 serial 사용방법
o 일반 user가 serial을 사용할때 uucp 그룹에 등록할것

[ detailed ]
: uucp package를 설치해야 한다. 
: xinetd가 설치되어 있어야 한다.
: 일반 user(root유저가 아닌)로 tip을 사용하고자 하면 uucp 그룹으로 등록해보자

1. uucp 설치
- yum install uucp 또는 rpm -ivh uucp-fc5-1.07-11.2.1.i386.rpm

2. xinetd에서 uucp 활성화 하기
- /etc/xinetd.d/uucp 파일에서 disable = yes를 disable = no로 바꿔준다.
 - 만약 파일이 없다면 아래처럼 만들어 주면 된다.
# default: off
# description: uucp TCP server
service uucp
{
only_from = 127.0.0.1
socket_type = stream
wait = no
user = uucp
server = /usr/lib/uucp/uucico
server_args = -l
disable = yes
}

3. 이제 xinetd를 다시 시작한다.
   > cd /sbin
   > service xinetd restart

4. 사용법
- tip 연결 방법
   : cu -s 9600 --parity=none --nostop -l /dev/ttyS0
- tip 해제 방법
   : serial을 끊을때는 "(~) + (.)" 으로 물결과 점을 차례대로 쳐준다.
- 아래처럼 스크립트를 만들어 쓰자...
#/bin/bash
#cu -s 9600 --parity=none --nostop -l /dev/ttyS0
echo $#
HOW=$#
case $HOW in
0 ) echo "Usage : tip 9600 ttyS0" ;;
1 ) TTY_SPEED=9600; TTY_NUM=$1 ;;
2|* ) TTY_SPEED=$1; TTY_NUM=$2 ;;
esac
echo "TTY_SPEED = $TTY_SPEED"
echo "TTY_NUM = $TTY_NUM"
cu -s $TTY_SPEED --parity=none --nostop -l /dev/$TTY_NUM
#스크립트 끝
   
5. 일반 user가 serial을 사용할때 uucp 그룹에 등록할것
  - 일반 user(root유저가 아닌)로 tip을 사용하고자 하면 uucp 그룹으로 등록한다.

2010년 1월 10일 일요일

백신 프로그램 코모도(COMODO)

프리웨어인 방화벽중 코모도의 성능이 괜찮다는 Review를 여러개 보았다.


회사내에서도 사용할 수 있는 프리웨어라고 한다.

코모도 내려 받기는 아래서 할수 있다.