야후에서 서비스하는 플리커(Flickr.com)는 사진을 위한 클라우드의 원조라고 할만 합니다. 


개인적으로는 유료서비스를 이용한지 4년이 넘어가는것 같은데요, 작년부터는 무료서비스 이용자에게 1TB공간 제공은 물론 원본업로드 기능까지 제공하고 있어서, 사실상 유료서비스를 이용할 이유가 없어진것 같습니다. 게다가 최근에는 Flickr 가 공식적인 스마트폰용 앱을 새로 업그레이드 해서 내놓으면서, 다른 클라우드 앱에서 제공하던 스마트폰사진 자동 업로드기능이 추가되면서, 이제 용량걱정없이 스마트폰 사진까지 백업할 수 있게 되었습니다.





 기존에도 Flickr 용 모바일 앱이 있기는 했으나 자동업로드 기능이 없다보니, 다른 유사 기능앱을 활용하는 방법밖에 없었는데, 야후 플리커에서 공식 제공하기 시작한거죠...  그런데  아직 좀 이상한것은   구글의 플레이스토어에서 검색기능으로는 찾을 수가 없네요. 다만 플리커 사이트에 들어가게되면 앱 다운로드 링크가 제공되고 있는데 플레이스토리 바로가기 링크는 아래 주소입니다.


구글 플레이스토어 경로

https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.flickr


애플 앱스토어 경로

https://itunes.apple.com/app/flickr/id328407587?ls=1&mt=8




앱을 다운로드 받아 설치 후 실행을 하게 되면 .

(이하 안드로이드 스마트폰 기준입니다.)


플리커 사이트 처럼 공개된 사진이나, 팔로잉하고 있는 사용자의 새로운사진이 보여지네요.



여기서 메뉴 버튼을 누르고[설정]으로 들어가면 자동동기화 항목을 볼 수 있습니다.



다시 자동동기화에서 사진업로드 항목을 선택후  [Wi-Fi로만] 을 선택하거나 [모바일네트워크]까지 같이 하거나 할 수 있습니다.


이렇게 하면 앞으로 찍은 사진은 자동으로 업로드를 하게 되고, Flickr 사이트에 접속해보면, 포토스트림에서 확인을 할 수 있게됩니다.


화면 캡쳐인 경우에는 똑똑하게도(?) 자동 업로드가 되지 않는데, 업로드를 하고 싶을때에는 갤러리에서 공유기능을 이용해 Flick 앱을 선택해서 업로드 할 수 있습니다.


사진을 선택적으로 업로드 하고 싶을 때는 자동업로드 상단에 [꺼짐]으로 하면 되고, 갤러리 앱에서 선택후 수동으로 업로드 하면 됩니다.  수동업로드도 이전 앱에 비해서 많이 편해졌네요.



지금까지는 네이버N드라이브나 다음클라우드, 아니면 통신사별로 제공하는 웹디스크를 이용했었는데, 다들 제공공간에 상대적으로 한정적이다 보니 불편함이 있었는데, 플리커는 1TB 가량이나 제공을 하고 있어, 용량걱정을 거의 안해도 될거 같습니다.


============

참고글 추가 

2015 구글 포토 서비스 출시




  플리커가 무료사용자에게 1테라바이트 공간을 제공한다고 합니다.


  개인적으로는 유료서비스(무제한공간제공및 원본다운로드제공)를 사용중이었는데.  더이상 유료가입이 필요없을 만큼 큰공간이네요.






 1테라무료공간을 제공하기전에도 주변에 플리커 유료서비스를 추천하고는 했었는데.


플리커를 추천할만한 이유로는.


- 최대 저장 공간제공

- 편리한 웹인터페이스

- 스마트폰에서도 앱과 웹으로 편리한접근

- 관리의 편의성

- 서비스 사이트의 신뢰도와 규모

- 선택적 공유가능


불편한 점으로는 아무래도 해외서비스이다보니 전송속도가 느리다는 점이있는데


최근에는 체감되는 전송속도가 많이 좋아진 느낌입니다.  1테라 무료바이트 사용자가 많이 늘어나게 되면서 어떻게 될지 모르겠지만... 쓸만한 속도는 유지해줄 듯합니다.


아래는 제가 플리커에 업로드한 사진목록중 일부입니다.  화면이 길어져서 짤렸는데.. 2010년5월부터 flickr를 통해 업로드를 하고 있었네요.


업로드 일자와 관계없이 실제 촬영일 별로 확인이 가능하기때문에 찾아보기에도 편리합니다.




플리커를 통해 모든 사진을 보관하고 있지만. 만일을 대비해 별도의 하드디스크나 DVD에 보관을 하고 있습니다. 


플리커를 신뢰하지만 항상 중요한 데이터는 이중화하는것을 권해드립니다.


http://www.flickr.com


   지금 사용중인 맥북에 디스크 용량이 부족해서 새로운 디스크로 교체를 하려는데 어떤 방법이 가장 좋을까..?

 

이전에도 한번 교체를 해본적이 있는데 그때는 OS 부터 새로 설치하면서 완전히 새로 밀고 시작하는 방법이었지만 지금은 기존의 내용을 그대로 유지한채  보다큰 용량으로 디스크 교체만 하고 싶은데...


맥(Mac) 기존내용을 유지한채 디스크 용량만 큰것으로 교체하려면?


맥에 기본적으로 제공되는 타임머신 유틸을 이용하면 간단히  2단계로 진행 가능하다.


  작업 대상은 2010년에 구매했던 맥북프로이고이고 OS는 처음 라이언에서 마운틴 라이언으로 업그레이드 한 상태이다.


진행 순서는 다음과 같다. 


1. 실행중인 모든 프로그램 종료한다.

  -   특히 패러럴데스크탑 사용중이면 Guest OS 환경까지 정상종료. 

  -  드롭박스,  구글드라이브, 에버노트 등 동기화 프로그램들의 최종 동기화 완료 상태 확인. 


   - 마운틴 라이언 같은 경우에는 시스템을 종료하더라도 프로그램을 완전종료 시키는 방식이 아니라서 직접 개별 적으로 실행중인 프로그램을 종료를 잘 확인 해준다.   잘안되었더라도 대부분의 경우 문제가 안되긴 하지만 패러럴데스크탑의 경우 복원후에 실행하면 비정상 종료처럼 되는 경우가 있고  실행중이었던 내용이 삭제될 수 도 있기 때문이다.



2. OS X 용 파일시스템으로 포맷된 외장하드 준비.

   

  타임머신으로 맥 디스크를 통째로 외부 백업을 해야 하기 때문에 대상 외장하드가 있어야 한다.  외장하드의 포맷은 OS X용 호환포맷(저널링,ExFAT 등) 포맷으로 되어있어야 한다. 아니라면 디스크 유틸리티를 이용해서 포맷한다. (물론 기존내용이 있다면 삭제됨..)





3. 기존 디스크 통째 백업하기 

 그리고 나서는 [시스템 환경설정 --> 타임머신 ]을 실행시킨뒤, [디스크 선택...]에서 준비된 외장하드를 선택한다.

자동으로 몇분뒤에 기존 디스크 전체를 외장하드로 백업하게 된다.





3. 디스크 교체 

 백업이 모두 끝났으면 시스템 종료를 하고 디스크를 교체 한다.



4. OS X 설치 디스크로 부팅 후  복원을 진행한다.




아래 사진들은 복원진행 도중 찍은 화면 이다.

설치 디스크로 부팅하게되면 OS X 유틸리티가 실행된다.


4.1)새로운 디스크 파티션 준비/확인


  위 화면단계에서 , 만일 새로 장착한  디스크가 포맷되지 않은 상태라면 [디스크유틸리티]를 실행해서 먼저 파티션을 잡아준다.


4.2) 타임머신 선택

   이제 복원작업을 위해 OS X 유틸리티 화면 맨 위에 [Time Machine백업으로 부터 복원] 선택후 [계속]  진행한다.


이어서 아래 설명이 나오고




4.3)백업 데이터가 들어있는 외장하드를 선택하고 





4.4) 선택하면 백업되었던 내용중 원하는 시점 선택, (맨 마지막시점에 맨 위에 있다.)




4.5)그리고 새로 씌여질 디스크 선택 후 [복원] 진행




그리고 나서 복원이 진행된다.


다 끝나서 새로 시작하면.  교체전 디스크와 동일한 상태로 복원 되었음을 알 수 있다.  


  실제 복원해본결과  구글드라이브나 드롭박스의 경우에는 어떻게 인지를 했는지 로그인을 새로 하고 동기화를 다시 하도록 요구받는데... (참 대단한 프로그램들 이다.)  그외에는 특별한것 없이 패러럴데스크탑에 설치된 Windows가 혹시 정품인증을 다시 요구 할까 했는데 그런것 없고 깔려있던 MS Office 도 문제 없다.


그럼 백업및 복원하기 끝







 


지난 번 강좌에서는 (우분투) 리눅스의  SAMBA를 이용하여 공유폴더 환경을 만들었습니다. 




이번에는 두번째 강좌인 rsync 백업 입니다.


  저장공간을 만들었으면 그 다음 우선적으로 할일을 백업입니다.  (단순 개인적인 용도로 영화파일이나 음악파일정도 보관하는 용도라면 백업에 대한 부담이 덜하겠지만,  중요한파일도 같이 보관하거나, 여럿이 사용할 파일 서버라면 백업은 필수 입니다.  


 컴퓨터로 자료를 보관하는 입장이라면 , 일단 기본적으로 저장매체는 믿지 마십시오, 언제든 파괴될 수 있고, 장애를 일으킬 수 있습니다. 저장매체가  무엇(HDD, SSD, CD, DVD, 테이프 등) 이든 말입니다. 믿을 수 있는것은 이중화 뿐입니다.




위 그림에서 보면 1~3 가지 정도로 자동백업 상황을 고려 해볼 수 있습니다. 자료의 중요도에 따라 백업은 이중, 삼중으로 되어야 하고, 필요시에는 원격지 다른장소에 구성하여 서버의 장애는 물론, 화재나, 해킹, 지진등에 도 대비를 해야 겠죠.  심지어 국가를 넘어서 자료를 백업하기도 합니다. 사실 개인도 그러한 구성도 얼마든지 가능합니다.


어째든 최소한 다른미디어에 백업하는 정도라도 구성하기를 권장합니다.


여기서 다루게될 백업(동기화)도구인 rsync 는 위 그림에서나오는 모든 경우에 대해 적용이 가능합니다.


 rsync 는 Unix-like 환경을 유틸리티로  한곳의 파일이나 디렉토리를 다른 곳에 동일하게 동기화 할 수 있도록 합니다.  처음 발표된건 1996년도입니다. 당시는 지금과 같은 네트워크 대역폭이 넓지 않은 상태인 만큼, 네트워크를 통한 파일 전송을 최소화 하는것이 중요했을 것입니다.(물론 지금도 그렇지만) 그래서 delta 인코딩이라는 기술로 변경내용만 빠르게  추려내어  전송량을 최소화 하도록 하였습니다. 이렇게 해서 잘만들어진 rsync는  지금도 유용하고 편리한 백업/미러링 도구입니다.


 rsync는 필수 유틸리티 이기 때문에 대부분의 유닉스 시스템(맥북에도)을 설치하게 되면 기본적으로 설치되어있어 바로 사용이 가능합니다. 그리고 무료이구요.


그럼 rsync   기본 사용법입니다.


rsync [OPTION]...  원본경로   사본생성경로

rsync [OPTION]... 원본경로    USER@호스트:사본생성경로

rsync [OPTION]...  USER@호스트:원본경로    사본생성경로     


rsync사용법은 파일 복사 명령어와 비슷합니다.  다만 같은 서버내에서는 물론 네트워크를 이용한 서버간에도 복사 동기화가 가능합니다.  이때는 접속 USER ID와 호스트 명(IP or DOMAIN NAME)이 들어가게 됩니다.



그럼 실제 예를 보겠습니다.


1) 먼저 동일 서버에서 디렉토리간 동기화 방법입니다.  


$rsync -avz /home/user1/one   /home/user1/two



옵션(-avz) 설명


 - a : archive mode동작지시,  -rlptgoD 라는 여러개의 옵션을 -a로 표현한것입니다.  이것은 (-r)지정된 원본디렉토리 이하의 모든 디렉토리와 파일, 심볼릭 링크(-l), 장치파일(-D)까지 모두 사본생성경로로 원래 권한(-p), 시간(-t),그룹(-g), 소유자(-o) 권한을 유지한채 복사하란 뜻입니다.  

즉, 아래와 같다고 보면 됩니다.

rsync -r -l -p -t -g -o -D

-v : verbose 실행과정 내용을 가능한 상세히 보여 달라는 뜻입니다.

-z : 전송데이터 량을 줄이기 위해 전송중 압축을 하라는 내용입니다. 최종 복사된 파일이 압축되는 것은 아닙니다.


이렇게 해서 실행하는 예를 보면 

 

$ ls -l one

합계 4

-rw-rw-r-- 1 user1 user1 10  2  2 19:17 test01.txt


$rsync -avz /home/user1/one   /home/user1/two

sending incremental file list

one/

one/test01.txt


sent 128 bytes  received 35 bytes  326.00 bytes/sec

total size is 10  speedup is 0.06


$ ls -l two

합계 4

drwxrwxr-x 2 user1 user1 4096  2월  2 19:17 one


   one 디렉토리 통째로 two안으로 들어간 것을 볼 수 있습니다. 테스트 상황에서는 파일이 한개(test01.txt)만 있어서 금방 끝납니다. 


2) 다음은  다른 서버로 부터 동기화 하는 예 입니다.


 사실 rsync에서  리모트로 부터 파일을 전송하는 방법에는 크게 2가지가 있습니다. 


- rsync 데몬을 이용하는 방법  (HOSTIP::/path 형식사용 또는  rsync:://  형식사용 )

(또는  rsync 데몬을 이용하되 ssh 컨넥션 이용하는 방법)


- 리모트 쉘 ( ssh,  rsh )  를 이용하는 방법   (  HOSTIP:/path  형식사용)


  rsync 데몬을 명령줄에서의 두가지 방법차이는 콜론(:) 개수 차이 입니다. 콜론 개수에 따라 rsync는 리모트 쉘을 이용할지 리모트 rsync 데몬을 이용할지를 결정합니다. 


  첫번째 원격 접근 방법인 rsync데몬을 이용하게 되면 대상 호스트에 inetd (873포트) 에 설정을 하여 항상 데몬이 뜰 수 있도록  해주어야 하며 기본적으로 전송간 암호화는 되지 않습니다. (여기에 ssh 컨넥션을 이용하는 방법을 추가해서 암호화가 되도록 해줄 수 도 있긴 합니다.)  


 두번째 원격접근 방법인 리모트쉘을 이용하는 방법을 사용하게 되면 통상 ssh (22번포트)를 사용하게 되고 더불어 자동으로 암호화된 세션안에서 통신을 하게 됩니다. 별도로 데몬 설정도 불필요합니다.


여기에서는 두번째 방법인 리모트쉘을 이용하는 방법을 사용하게 될 것 입니다.


  리모트쉘(ssh) 를 이용하는 전제는 ssh 패키지가 설치 되어있어야합니다. 만일 설치전이라면 ssh부터 설치하시기 바랍니다. (리모트,로컬 양쪽에 설치 되어있어야 합니다.)


$sudo apt-get install ssh



그럼 준비가 되었으면 rsync 를 이용한 리모트 원본을 동기화예를 보겠습니다.


$rsync -avz user2@192.168.1.51:/home/user2/three two


  51번 호스트의 /home/user2/three 원본 경로전체를 two 로 동기화 한다는 뜻입니다.  이때 51번 호스트로 접속할때  사용자는 user2입니다.  콜론이 한개(:)이기때문에 ssh접속을 하게 됩니다.


그럼 실행해 봅니다.

$rsync -avz user2@192.168.1.51:/home/user2/three two

user2@192.168.1.51's password: 

receiving incremental file list

three/

three/test02.txt


sent 34 bytes  received 141 bytes  50.00 bytes/sec

total size is 19  speedup is 0.11


$ls -l two

합계 8

drwxrwxr-x 2 user1 user1 4096  2월  2 19:17 one

drwxr-xr-x 2 user1 user1 4096  2월  2 19:56 three


51번 호스트의 three디렉토리 통째로 two로 동기화(복사) 됩니다.


 파일서버를 개인적인 용도로 쓰고 별도의 리모트 서버 구성을 하지 않는다면 1)번의 디렉토리간 동기화방법을 사용하면 됩니다.



정기적 백업의 자동화


  rsync를 이용하면 앞서 설명한것처럼 간편하게 명령 한줄로 (동기화)백업을 해낼 수 있습니다만.  이왕이면 정기적을 자동 백업을 해줄 수 있다면 더욱 좋을 것 입니다.


 리눅스와 같은 (Unix-like) OS에서는 cron 이라는 주기적 작업을 쉽게 설정할 수 있는 도구가 있습니다. 이를 이용하면 rsync를 자동화 백업이 가능해 집니다.


cron 의 실행하는 스케쥴표는 crontab  명령으로 작성할 수 있습니다.


실행 명령 입니다.


$crontab -e


아마도 처음 crontab을 실행한다면 어떤 에디터를 사용할지 물어 볼겁니다. 익숙한 에디터를 선택하시면 됩니다.  그러면  crontab은 하나의 설정파일을 열어 줍니다.


해당 파일에 작업 command 를 추가 해주면 되는 데 형식은 다음과 같습니다.


#분 시 일 달 요일  command

#30 1 2 3 *   rsync ...  # 3월 2일 1시 30분에  rsync ...를 실행한다. (특정일 실행)

#10 2 * * 1  rsync ...     #  매주 첫날 2시 10분에 rsync...를 실행한다. (주 단위 실행)

#0 3 *  * *   rsync ...    # 매일 3시 정각에 rsync... 를 실행한다.  (매일 실행)


즉 위처럼 원하는 스케쥴에 rsync 실행줄을 넣어 주면 되는 겁니다.   (맨앞 # 코멘트 표시는 제거해야죠 ^^)


여기에 좀더 세련된 관리 방법을 넣어 보겠습니다.


7일 단위 증분 백업하면서 동기화하기


위 말이좀 헷갈리죠?


  이 말뜻은  매일 동기화를 해서 원본과 맞추되.  만약에 특정 변경된 파일이 문제가 있어 복원 필요한 경우 해당 파일을 적어도 일주일 전까지는 되돌릴 수 있도록 따로 변경분만 별도 백업 한다는 뜻입니다.


어떻게?


--backup   이란 옵션을 사용하면 됩니다.

 

 이 옵션을 사용하게 되면 원본에 동기화를 할때 변경이 발생해서 덮어쓰이게 되는 경우 이전파일을 다른 이름으로 바꾸거나(--suffix 옵션)  다른 디렉토리로(--backup-dir)로 옮겨 놓을 수 있도록 하는 명령 입니다.


즉, 바뀌게 되는 파일만 또 다른 공간으로 살려두게 되는 것이죠. 


그런데 이 옵션만으로는 좀 세련되게 하기가 안되므로 간단히 스크립트를 만들고 이 스크립트를 실행하는 명령을  crontab 으로 등록하겠습니다.


아래 스크립트입니다.   http://rsync.samba.org/examples.html  있는 예제를 좀더 간단하게 바꾸었습니다.


#!/bin/sh


SRCPATH=/src


BACKUPHOME=/backup


#동기화 제외 대상 목록을 넣을 파일

EXCLUDES=$BACKUPHOME/exclude_files.txt


# 일요일, 월요일, 화요일 ... 토요일 또는 영문으로 (sunday ... )

BACKUPSUB=`date +%A`     


OPTS="--force --ignore-errors --delete-excluded --exclude-from=$EXCLUDES  

          --delete --backup --backup-dir=$BACKUPHOME/$BACKUPSUB -a"


export PATH=$PATH:/bin:/usr/bin:/usr/local/bin


rm -rf  $BACKUPHOME/$BACKUPSUB/*


# 동기화 실행 진행

rsync $OPTS $SRCPATH  $BACKUPHOME/current


이 파일을  /backup/runrsync.sh  실행가능한 파일로 저장합니다.


그리고  요일별로 변경분만 백업될 디렉토리를 미리 만들어 주어야 합니다.


$mkdir /backup/일요일  /backup/월요일 /backup/화요일 /backup/수요일  /backup/목요일 /backup/금요일  /backup/토요일



$crontab -e 


실행 후 아래 처럼 추가해줍니다.

#0 2 *  * *   /backup/runrsync.sh


그럼 매일 새벽 2시에 동기화를 하게 되고 이때  바뀌는 파일은 /backup 밑에 요일별로 옮겨지면서 전체 동기화된 파일은   /backup/current 에 있게 됩니다.



  여기까지 rsync를 이용한 자동 동기화 방법에 대한 설명을 마치겠습니다.  각자 필요한 환경에 맞게 적절히 변경하여 활용하시기 바랍니다.  감사합니다.

 


+ Recent posts