농장 생활의 꿈을 이뤄볼까? 고고! 농장
고고! 농장은 페이스북에서 플레이 할 수 있는 소셜 네트워크 게임입니다. 조그마한 자신의 농장에서 여러가지 작물이나 꽃을 키우고, 애완견도 돌보면서 가끔 친구 농장에 놀러가 일도 도와주며 아기자기한 농장 생활을 꾸며볼 수 있습니다.
고고! 농장을 플레이 하는 방법은 간단합니다. 빈 땅에 작물이나 꽃을 심고, 땅이 마르면 물을 주고, 벌레가 생기면 약을 뿌려주고, 잡초가 생기면 제조체를 뿌려줍니다. 그러면 시간이 흘러 작물이 다 자라고 수확을 해서 시장에 내다 팔 수 있습니다.
어떻게 보면 과거에 많이 보았던 것 같기도 한데요. 고고! 농장을 하다 보면 색다른 재미가 있는 것이 있습니다. 바로 친구 농장의 일을 도와주거나 서리를 하는 것이죠. 물론 선물을 서로 주고 받을 수도 있습니다. 저는 제 농장 일보다 친구들의 농장 일을 도와주는게 더 재미있더군요. 뭔가 착한 일을 한 것 같은 뿌듯한 느낌이라고 해야 할까요?
친구 농장에서 서리를 할 수도 있는데, 장난으로 조금 하면 몰라도 계속 서리를 하면 친구가 화를 낼지도 모르겠네요. 친구들이 내 농장에서 서리를 하는게 싫다면 애완견을 키워서 보초(?)로 세울 수도 있습니다.
위 그림은 제 지인의 농장인데요. 저보다 먼저 시작을 해서 밭도 넓고 멋진 애완견에 집도 바꾸었네요. 집은 코인 충전을 해서 살 수도 있고 열심히 골드를 모아 살 수도 있습니다. 지금 밭 상태는 아주 좋은데도 친구의 농장 밭들도 제 것처럼 마르거나 벌레가 생길 수가 있습니다. 그럴 때 자기 밭처럼 관리를 해주면 나중에 친구가 그 기록을 볼 수 있거든요. 아무래도 친구가 매우 좋아하겠죠? 거기에 친구를 도와줘도 경험치가 오르니 일석이조입니다.
고고! 농장은 페이스북 계정만 있으면 무료로 손쉽게 시작 할 수 있습니다. 처음에는 조금 어색 할 수도 있지만 어려운 게임은 아니니까 조금만 친구들 만들어서 같이 일도 도와주고 하다 보면 금새 익숙해집니다. 친구들끼리는 무료로 선물도 주고 받을 수 있으니까 꼭 혼자 하지 마시고 친구들이랑 같이 시작 해보세요. 훨씬 플레이 하기도 쉬워지도 더 재미있어 진답니다.
대체적으로 부담스럽지 않은 그래픽과 잔잔한 음악으로 많은 시간을 들이지 않고 플레이 할 수 있기 때문에 시간 많이 먹는 게임을 하는 것이 힘드신 분들께 추천 해드리고 싶습니다.
플레이를 하다 보면 다소 자세한 설명이 아쉽게 느껴지는 부분도 있습니다. 물론 설명을 자세히 읽고 몇번 해보면 배울 수 있지만 초보자들에게는 조금 어렵게 느껴질 수도 있을 듯 합니다. 하지만 실제 농장 생활을 하듯 서두르지 말고 느긋히 하시다 보면 금새 다 익숙해집니다.
언젠가 시골에 조그마한 농장을 만들어 생활하는 꿈을 꾸어 본 적이 있다만 당장은 고고! 농장으로 그 꿈을 달래보는 건 어떨까요?
CentOS에 memcached 설치법
memcached 설치 방법입니다. CentOS 5.2 를 기준으로 작업하였습니다. 설치 작업은 root 권한으로 실행해야 합니다.
libevent 설치
yum 을 사용해 libevent 패키지를 설치합니다.
[bash]
$ yum install libevent
$ yum install libevent-devel
[/bash]
memcached 소스 코드 다운로드
memcached 사이트에서 소스 코드를 다운로드 합니다.
memcached 소스 코드 컴파일
압축을 풀고 컴파일 합니다.
[bash]
$ tar -xvzf memcached-1.2.6.tar.gz
$ cd memcached-1.2.6
$ ./configure --prefix=/usr/local/memcached --with-libevent=/usr/lib/
[/bash]
memcached 설치
make 를 이용해 설치합니다.
[bash]
$ make install
[/bash]
init.d 디렉토리에 스크립트 작성
memcached 스크립트 파일을 풀어 설치합니다. 다운로드
[bash]
$ cd /
$ tar -xvf memcached.script.tar
[/bash]
서비스에 등록
[bash]
$ cd /etc/init.d
$ chkconfig --add memcached
[/bash]
ntsysv 명령으로 잘 등록됐는지 확인 해보세요.
환경 설정
환경설정은 /etc/init.d/memcached 파일 안의 값을 변경하시면 됩니다.
Dropbox로 서버 데이터 백업하기
개인적으로 호스팅을 Cafe24에서 두 개 받고 있습니다. 하나는 이 블로그가 돌아가는 웹호스팅이고, 다른 하나는 개발 및 이것 저것 좀 돌려보는데 사용하는 가상 서버 호스팅입니다.
둘 다 복구 할 수 없는 데이터들이 담겨있는 서버이기 때문에 백업에 신경을 쓰고 싶은데 이게 쉽지 않았습니다. 로컬 디스크에 받아놓아봤자 디스크가 깨지거나 파일 시스템에 문제가 생기면 아무 소용없을 것입니다. 제대로 백업을 해 두려면 원격으로 해 놓아야 하는데 매번 SSH나 SFTP로 백업을 하려고 접속하는 것도 번거로운 일입니다. 이를 자동화 하려면 24시간 내내 동작하는 컴퓨터가 필요합니다. 물론 제가 회사 서버를 관리하기 때문에 그 장비를 사용 할 수도 있지만 개인적인 용도에 회사 자원을 이용하는 것은 마음이 편하지 않습니다.
그러던 중 현재 사용하고 있는 Dropbox를 이용해서 백업을 하면 어떨까 싶었습니다. Dropbox는 여러 운영체계를 잘 지원하기 때문에 분명히 터미널에서도 사용 가능한 방법이 있을 것이라 생각했습니다. 찾아보니 역시 있더군요. 그래서 현재 Dropbox로 호스팅 2개의 데이터를 백업 중입니다.
그럼 Dropbox로 어떻게 서버 데이터를 백업하는지 적어보도록 하겠습니다.
웹호스팅의 호스트 이름은 webhost(IP:1.1.1.1), 가상 서버의 호스트 이름은 virhost(IP:2.2.2.2) 로 하겠습니다. 그리고 가상 서버의 계정 이름은 foobar 입니다. 설정에서 이런 값이 사용된 부분들은 사용자 환경에 따라 알맞게 수정하셔야 합니다.
우선 웹호스팅의 데이터를 가상서버로 rsync를 통해서 복사 할 수 있게 하겠습니다.
가상 서버의 /etc/xinetd.d/rsync 의 disable = yes 값을 no 로 수정합니다. 그리고 /etc/rsyncd.secrets 파일에 rsync용 계정과 비밀번호를 설정합니다. 이 작업을 하기 위해서는 root 권한이 필요합니다.
[text title="/etc/rsyncd.secrets"]
rsyncusername:rsyncpassword
[/text]
그리고, /etc/rsyncd.conf 파일을 생성합니다.
[text title="/etc/rsyncd.conf"]
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[backup]
comment = shared data stored here
path = /home/foobar/.backup/
read only = false
list = yes
uid = foobar
gid = foobar
auth users = rsyncusername
secrets file = /etc/rsyncd.secrets
hosts allow = 1.1.1.1
[/text]
uid와 gid는 알맞게 수정하시고 auth users는 /etc/rsyncd.secrets 파일의 계정과 일치시키시면 됩니다. hosts allow는 웹호스팅의 IP로 설정하시면 됩니다.
rsync 관련 설정이 끝났으면 xinetd를 재시작 합니다. 물론 웹호스팅 쪽에서 rsyncd로 접근 가능하게 방화벽 설정을 변경해야 합니다.
[bash]
$ service xinetd restart
[/bash]
그 다음은 웹호스팅의 데이터를 로컬에 tar로 백업하도록 만들었습니다.
[bash title="~/bin/backup.sh"]
#! /bin/sh
BACKUP_HOME=~/backup
cd ${BACKUP_HOME}
rm -f ${BACKUP_HOME}/*.gz
mysqldump bkworm | gzip > backup_www_mysql.sql.gz
tar -czf backup_www_web.tar.gz ~/www
rsync -a ${BACKUP_HOME}/ rsyncusername@virhost::backup
[/bash]
이 스크립트를 backup.sh 라는 이름으로 ~/bin 폴더에 생성한 후에 crontab –e 로 실행하도록 했습니다.
[text]
11 1 * * * ~/bin/backup.sh &> /dev/null
[/text]
매일 새벽 1시 11분에 DB와 웹 폴더가 웹호스팅 로컬에 백업된 후 rsync를 통해 가상 서버의 ~foobar/.backup 폴더 안으로 복사됩니다.
이제 Dropbox에 ~foobar/.backup 폴더 안의 백업 파일들을 백업하도록 설정합니다. 우선 Dropbox 프로그램을 자신의 운영체제에 맞춰 다운로드 합니다.
다운로드 받은 파일을 ~foobar/.dropbox-dist 폴더에 풀어놓습니다. 그리고 실행을 하면 아래와 같은 메시지가 나옵니다.
[text]
This client is not linked to any account...
Please visit https://www.dropbox.com/cli_link?host_id=7d442gf557a3458f285f2d54x67334d02c1 to link this machine.
[/text]
Dropbox 웹사이트에 로그인한 상태로 링크 주소를 복사해서 웹브라우저에 붙여넣으면 바로 동기화가 활성화 됩니다. Ctrl-C로 Dropbox 프로세스가 종료되지 않으므로 다른 터미널을 하나 열어 실행했던 Dropbox 프로세스를 kill 합니다.
root 권한으로 /etc/sysconfig/dropbox 파일을 다음 내용으로 생성합니다.
[text title="/etc/sysconfig/dropbox"]
DROPBOX_USERS="foobar"
[/text]
그리고 /etc/init.d/dropbox 파일을 생성해서 아래 링크의 내용을 복사해 넣습니다.
http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall/FedoraStartup
그 뒤 아래의 명령들을 하나씩 차례대로 실행합니다.
[bash]
$ /bin/chmod 0755 /etc/init.d/dropbox
$ /bin/chmod 0644 /etc/sysconfig/dropbox
$ /bin/ls -l /etc/init.d/dropbox /etc/sysconfig/dropbox
$ /usr/bin/chcon -u system_u -t initrc_exec_t /etc/init.d/dropbox
$ /usr/bin/chcon -u system_u -t etc_t /etc/sysconfig/dropbox
$ /bin/ls -lZ /etc/init.d/dropbox /etc/sysconfig/dropbox
$ chkconfig dropbox on
[/bash]
마지막으로 dropbox를 실행합니다.
[bash]
$ service dropbox start
[/bash]
이제 ~foobar/Dropbox 안에 들어가는 모든 파일의 생성, 수정, 삭제는 Dropbox에 자동으로 반영됩니다. 아까 ~foobar/.backup 디렉토리 안에 옮겨놓은 백업 파일을 이동시키도록 crontab에 등록합니다.
[text]
33 3 * * * mv ~/.backup/*.gz ~/Dropbox
[/text]
Dropbox를 이용한 백업의 또 다른 장점은 파일 변경 이력을 Dropbox에서 30일 동안 남겨두기 때문에 여러벌의 백업을 유지 할 필요가 없다는 점입니다. 이 점 때문에 무료로 사용 가능한 2G의 용량으로도 꽤 활용도 있게 사용하는 것이 가능합니다.
다만 Dropbox는 외국의 서비스이기 때문에 매일 많은 양을 백업하려고 한다면 호스팅 업체에서 제한이 들어올 가능성도 있습니다.
국내에서 WebDAV 등 리눅스에서 사용 가능한 연동 방식을 제공하는 클라우드 서비스가 등장한다면 한 번 사용해보고 싶습니다.