드롭박스(Dropbox)로 백업 시 out of memory error 해결 방법

Updated on 2017-09-15 by

램섬웨어가 인터넷나야나를 강타한 후 저도 보안과 백업에 대해서 많은 관심을 가지고 보완하려고 노력하고 있습니다.

이러한 보안 및 백업을 보완하기위한 작으르 진행했고 이 과정을 몇번의 포스팅을 통해서 공유했었습니다.

랜섬웨어 대응, 매일 매일 자동으로 드롭박스(Dropbox)로 백업 받는 방법

서버에서 자동 실행을 가능케 해주는 crontab(크론탭) 설정 방법

랜섬웨어 대응, 서버 및 워드프레스 필수 보안 설정 15가지

이렇게 어느 정도 안전한(세상에 안전한 것을 없지만요. 심리적으로 안전하다고 믿고 싶습니다. 항상 두려움에 떨고 싶지는 않아서요) 시스템을 구축했다고 행각했는데요.. 물론 개인이 운영하는 취미용 사이트라는 관점에서 그렇습니다. 상업용 또는 기업용이라면 다른 평가를 내려야 겠지요.

1. 백업용 script

저는 백업을 2가지로 나누어 작동하도록 했습니다.

하나는 데이타베이스를 백업받아 드롭박스(Dropbox)로 백업받도록 했으며,
또하나는 이미지 등 데이타를 백업받도록 했습니다. 솔직히 데이타 백업은 3GB가 넘기 때문에 매일 이런 데이타를 백업 받는 것은 무리라고 생각되었고 이런 백업도 트래픽에 반영되므로 전체 백업을 할 수는 없었습니다. 그래서 가장 최근 달에 올라간 데이타를 백업 받고자 하였습니다.

1.1 db 백업 용 script

랜섬웨어 대응, 매일 매일 자동으로 드롭박스(Dropbox)로 백업 받는 방법 에서도 이야기했듯이 데이타베이스를 백업받기 위해서 아래와 같은 스크립트를 만들었고, 이를 크론탭에 등록했습니다.

크론탭 등록 방법은 서버에서 자동 실행을 가능케 해주는 crontab(크론탭) 설정 방법 를 참고해 주시기 바랍니다.

#! /bin/bash
mysqldump -u아이디 -p비밀번호 데이타베이스이름 > wpbackup.sql(저장할이름을 취향에 따라 정함)

tar -zcvf wpbackup.tgz wpbackup.sql*  # 단순 sql 파일은 너무 크므로 압축을 해준다.  wpbackup.tgz은 원하는 파일 이름으로 변경할 수 있다.

rm *.sql*   # 압축 파일이 있으므로 *.sql 파일은 삭제한다.

# Dropbox-Uploader로 원하는 파일을 dropbox로 올린다. 구분을 위해 파일 이름에 시간을 표시 했다.
/usr/bin/Dropbox-Uploader/dropbox_uploader.sh upload wpbackup.tgz /myDB/"wpbackup$(date +%y%m%d%H%M).tgz"

1.2. 데이타용 백업 script

아래는 워드프레스 2017년 6월 데이타를 백업받는 script입니다.

#!/bin/bash
tar -czpf databackup.tgz /home/happist/wp-content/uploads/2017/06 1>/dev/null 2>/dev/null
/usr/bin/Dropbox-Uploader/dropbox_uploader.sh upload databackup.tgz /myDB/"databackup$(date +%y%m%d%H%M).tgz"

2. 백업 시 에러 발생 – out of memory

처음 며칠은 아무 문제없이 잘 작동했습니다.
그런데 어느 순간부터 데이타 백업이 안되더군요.
뭐가 문제일까 script를 실행해보니 아래와 같은 에러가 뜨네요.

Uploading "/root/databackup.tgz" to "/myDB/databackup1706192227.tgz"... curl: option --data-binary: out of memory curl: try 'curl --help' or 'curl --manual' for more information

out of memory라… 인터넷을 찾아 보았는데 특별히 도움을 받을 수 없었습니다. 다만 메모리값을 늘려라는 이야기가 있더군요.

upload to dropbox failed, error: “curl: option —data-binary: out of memory” #363

실제로 백업받은 파일들을 보니 문제가 없을 시는 110MB정도 되는데 어느날 140MB이상으로 용량이 늘어났더군요.

그래서 밑져야 본자이다라는 생각으로 dropbox_uploader.sh 내용을 살펴보았습니다. 거기에 CHUNK_SIZE를 설정하는 항목이 있네요.

#Default chunk size in Mb for the upload process
#It is recommended to increase this value only if you have enough free space on your /tmp partition
#Lower values may increase the number of http requests
CHUNK_SIZE=50

CHUNK_SIZE는 데이타 size를 의미하므로 이 값을 50(MB)에서 5000(5GB)로 변경헸습니다. 디스크 저장 용량이 충분하다면 값을 크게 설장할 수 있다고 합니다.

▽ Dropbox로 자동 백업 하기 중 out of memory error 발생,
CHUNK_FILE=5000정도로 수정

Dropbox로 자동백업하기 중 out of memory error 수정

이렇게 조치 후 script를 실행 시 문제 없이 작동합니다.

3. 결론

해법이 넘 간단해서..넘 싱거울 수 있겠습니다. 그런데 대부분의 문제가 알고보면 너무 쉬운 것들입니다. 그걸 몰라서 엄청 헤메고 삽징하고 합니다.

dropbox_uploader를 이용해 드롭박스(Dropbox)에 백업을 매일 받을 시 out of memory 에러가 뜬다면 dropbox_uploader.sh 파일에서 CHUNK_FILE값을 키워 문재를 해결 할 수 있습니다.

새롭게 뉴스레터를 시작했습니다.

1️⃣ 주식 등 투자 정보 : 기업 분석, IB 투자의견 등 투자 관련 내용
..... 테슬라 실적 및 IB들의의 테슬라 투자의견
2️⃣ 사례 및 트렌드 : 사례연구와 트렌드 관련 괜찮은 내용
.....유튜브와 경쟁대신 구독 전환한 비디오 플래폼 비메오 사례

서울에 생긴 Vultr 서버 100$ 프로모션

안녕하세요?
새로운 사이트 구축을 위한 신규 서버를 고민하신다면 , 서울 리젼이 생겨 더욱 빨라진 Vultr 서버를 Vultr 100$ 프로모션으로 이용해 보세요.

아래 프로모션 코드 링크를 통해 Vultr에서 서버 구축 후 1달 이상 사용 및 $25이상 결제 時 추가 100$을 주는 프로모션입니다.

Vultr는 서울에도 리젼이 있어 매우 빠르고, 아마존 웹 서비스(AWS)보다 성능이 높으며 가장 가성비가 뛰어납니다.

거기다 사용자 UI도 좋고, 15개까지 스냅샷을 무료로 제공하기 때문에 관리하기 좋습니다. 그리고 지금 100$ 프로모션처럼 가격적인 메리트도 있습니다.

우분투 20.04와 PHP 8 기반 워드프레스 설치 방법

가상 서버를 운영하고픈 勇者에게 전하는 가상 서버 운영 입문 노하우 – Vultr 가상서버호스팅(VPS)를 중심으로

워드프레스 최적화를 위한 18개월간의 고민, 그 노하우를 담다.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

가성비가 뛰어난 Vultr 가상서버호스팅(클라우드호스팅,VPS) 사용기

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments