[bash: wget] 내 블로그(이글루) 백업하기 리눅스 bash script

리눅스에 포함된 웹 가져오기 프로그램인 wget을 이용해서 블로그를 백업해 둘 수 있다.

일단 백업할 디렉토리를 만들어서 들어간 후
mkdir my_blog_backup
cd my_blog_backup

아래와 같이 입력하면 된다.
wget -r -l 2 -k -p -H -D egloos.com --restrict-file-names=nocontrol -R '*\?*' http://[이글루 주소]

반달가면 블로그(http://bahndal.egloos.com) 백업은 아래와 같이 하면 되겠다.
wget -r -l 2 -k -p -H -D egloos.com --restrict-file-names=nocontrol -R '*\?*' http://bahndal.egloos.com

각 옵션의 기능은 대략 아래와 같다.

-r: 하위 url 링크도 가져오기(recursive retrieval)

-l 2: 하위 url 링크 범위(recursion depth)를 최대 2단계까지로 설정. 너무 높게 설정하면 블로그에 링크된 온갖 것들이 다 딸려오므로 적당히 하자.

-k: 링크를 가져온 파일로 대체(convert links to local files)

-p: 웹 페이지 표시에 필요한 그림 파일 가져오기(get all the images needed)

-H: 다른 호스트명으로 확장. 예를 들어 이글루에 그림이나 파일을 넣으면 내 도메인에 소속되지 않고 pds25.egloos.com 이런 곳으로 올라가기 때문에 이것을 받아오려면 -H 옵션을 포함시켜야 한다.

-D egloos.com: -H 옵션을 적용하면 이글루 외에 다른 사이트로 걸린 링크까지 받아오므로, 확장의 범위를 이글루스로 제한하기 위한 것이다.

--restrict-file-names=nocontrol: 파일명에 별도의 작업을 하지 말고 그대로 놔두기 위한 것이다. 이 옵션을 적용하지 않을 경우 한글로 된 파일명이 깨지는 문제가 발생할 수 있다.

-R '*\?*': 물음표가 들어간 url 제외. 굳이 안 가져와도 문제 없는 듯. 게다가 윈도우에서는 파일명에 물음표가 들어갈 수 없으므로 윈도우에서 볼 경우를 고려해서 제외.


작업이 완료되면 백업한 이글루 주소와 같은 이름으로 디렉토리가 생기는데(다른 디렉토리도 이것저것 많이 생긴다) 여기로 들어가서 index.html 파일을 웹브라우저로 열면 백업된 블로그를 볼 수 있다.

디렉토리와 파일이 잔뜩 어지럽게 나와서 영 산만하긴 하지만 어쨌든 나름대로 백업이 되긴 된다 -_-;;

백업한 결과물을 보면 index.html외에 다른 html 파일에 확장자가 없는 것이 많은데 인터넷 익스플로러에서는 제대로 열리지 않는 것 같다. 파이어폭스에서는 잘 보인다.

이글루 외에 다른 블로그나 홈페이지도 비슷한 요령으로 백업 가능.



덧글

  • costzero 2013/07/20 02:25 # 답글

    괜찮군요.
    전 httrack과 매크로,api로 네이버나 티스토리로 마이그레이션을 해봤는데
  • 반달가면 2013/07/20 21:24 #

    제대로 백업이 잘 되는 옵션을 찾느라 좀 귀찮긴 했지만, 아무튼 오프라인으로 백업해 놓을 때 유용합니다.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

64342
4132
1862255

ad_widget_2