1.1 C
New York
토요일, 12월 20, 2025

Buy now

[광고] 쿠팡 추천 링크

안녕하세요? 올해까지 삼성전자 25년 직장 생황릃 마치고 퇴직하려 합니다. 퇴직 후 아르바이트로 쿠팡 파트너스 활동을 하려고 합니다. 쿠팡 파트너스는 쿠팡 추천 링크를...

카누 캡슐 커피머신 솔직 리뷰: ‘네스프레소 호환’ 가성비 끝판왕 (ft. 쿠팡 최저가 할인)

'공유 커피' 카누가 만든 카누 캡슐 커피머신 : 캡슐 커피머신 바리스타 브리즈/어반! 네스프레소 오리지널 캡슐 호환으로 활용도는 높이고, 카누만의 황금 레시피로 커피 맛은 깊어졌습니다....
Home Blog Page 358

은퇴자가 읽어도 좋을 대공황기 생존전략 49가지

10

이 시기에 갑자기 대공황기의 49가지 생존전략이라는 글을 공유하는 이유는 개인적으로 대공황에 준하는 혹독한 상황을 여두에 두고 앞으로 나의 앞길을 고민해야겠다는 생각이기 때문입니다. 이글는 송희식 교수님이 작성한 글이라고 합니다.

지금 생각해보니 공황기의 생존전략은 은퇴 후 샌존 방ㅂ버에 적용해도 좋을 것 같다는 생각을 햇습니다. 개인적으로 생각해 보면 은퇴자가 생각해볼만한 생존전략은 아래와 같은 것이 있을 것 같습니다.

  • 20. 건강에 더욱 신경 써라.
  • 16. 장기적으로 생각하라. 불황의 시기에는 무엇이든지 당장 되는 일이 없다.
  • 15. 감세 혜택을 받는 것이 무엇인지 알아보라.
  • 1. 불황이 몇 년이면 끝날 것으로 기대하지 말고 생활수준을 낮추고 오래 견딜 궁리를 하라.
  • 2. 가족의 유대를 강화하고, 배우자, 형제자매, 부모와 서로 협력하라. 한국에서는 아무래도 가족이 최후의 보루다.
  • 3. 경제만이 아니라 모든 면에서 지식정보를 획득하기 위해 노력하라.
  • 4. 너무나 당연하지만 되도록 많이 현금화하라. 당신이 가지고 있는 것 중 대부분을 현금화하라.
  • 5. 국가와 정부에 기대하지 말라. 국가는 당신에게 아무 것도 해주지 못한다.
  • 6. 사업을 최대한 보수적으로 경영하라.
  • 9. 부동산에 투자하지 말라.
  • 10. 주식투자에 열 올리지 말라
  • 11. 달러나 외화로 저축하는 것을 생각해보라.
  • 19. 금이나 귀금속을 보유하는 것도 안전을 구하는 하나의 방법이다.
  • 26. 주식시장에서는 과거와 같이 사놓고 기다리는 전략은 더 이상 통하지 않는다.
  • 31. 같은 어려움을 가진 사람들끼리 조직을 만들어라.

잎으로의 경제 전망은 당분간 긍정적인 면이 더 많을 수 있습니다. 개인 경제 측면에서 앞으로 암울할 수도 있다는 생각이 들고 조금 가정 경제를 근검 절약 모드로 전환할 필요가 있습니다.

대공황기의 49가지 생존전략

아래에서 인용하는 대공황기의 49가지 생존전략은 선문대학교 송희식교수의 글로 인터넷에 공유된 글을 다시 여기에서 공유합니다. 대공황기 관련 이미지를 추가해 내용을 조그 더 풍부하게 만들었습니다.

1. 불황이 몇 년이면 끝날 것으로 기대하지 말고 생활수준을 낮추고 오래 견딜 궁리를 하라.

대공황기에는 경제가 디플레이션 기조로 돌아섰다는 것을 알아야 한다. 조금 있으면 경제가 회복될 것이라는 막연한 기대로 어떤 결정을 해서는 안 된다는 것이다.

대공황(Great Depression) 사진 04
대공황기 (Great Depression) 사진

2. 가족의 유대를 강화하고, 배우자, 형제자매, 부모와 서로 협력하라. 한국에서는 아무래도 가족이 최후의 보루다.

낮은 생활수준을 유지하려면 가족의 협조가 필요하며 배우자가 함께 벌도록 하라.

3. 경제만이 아니라 모든 면에서 지식정보를 획득하기 위해 노력하라.

지식이나 정보는 생활비를 줄이거나 기회를 잡기 위해서도 중요하다. 사회의 여러 분야를 앎으로써 돈을 들이지 않아도 되고, 알기 때문에 돈을 벌 수 있는 것들이 많아진다.

4. 너무나 당연하지만 되도록 많이 현금화하라. 당신이 가지고 있는 것 중 대부분을 현금화하라.

그리고 그 현금을 붙들고 놓지 마라. 현금 예비비는 연간 지출예상액 정도로 확보해야 한다. 공황이 심화되면 1년 단위 지출을 현금으로 준비해도 안심할 수 없다.

5. 국가와 정부에 기대하지 말라. 국가는 당신에게 아무 것도 해주지 못한다.

정부가 어떤 약속을 한다고 해서 기대하지 말라. 당신은 실망하게 될 것이다.

6. 사업을 최대한 보수적으로 경영하라.

허황된 것을 좇지 마라. 어떤 사업이 대단히 성공적이라고 이야기하더라도 디플레이션 시대에는 인플레이션 시대와 달리 수요가 얼어붙고 있다는 것을 명심하라.

7. 신문이나 언론을 믿지 말라.

언론은 항상 좋은 측면, 희망적인 측면을 과장하여 보도하는 태도를 가질 수밖에 없다. 언론에서 세상이 망한다고 떠들면 정말로 세상이 혼란해지기 때문이다. 언론이 어떻게 그럴 수 있겠는가.

8. 캠페인에 부화뇌동하지 말라.

모든 캠페인에는 사실 다른 목적이 있는 경우가 많다. 그런 캠페인에 참여하다가 당신도 모르는 사이에 당신이 의지하는 것이 가랑비에 옷 젖는 것처럼 없어진 것을 발견하게 될 것이다.

9. 부동산에 투자하지 말라.

부동산의 신화에서 벗어나야 한다. 때때로 부동산 가격이 저점에 와서 이제는 오를 것이라는 예측이 나온다 하더라도 한 번 더 생각해보라.

10. 주식투자에 열 올리지 말라.

디플레이션 시대에는 주식에서 많은 돈을 벌겠다는 욕심을 버려야 산다.

대공황(Great Depression) 사진 01 AP통신 제공

11. 달러나 외화로 저축하는 것을 생각해보라.

돈이 많은 사람이라면 당연히 이런 선택을 할 것이다. 그렇지만 미국 시장이 붕괴하는 시점에 이르면 달러가 폭락한다는 것을 기억하라. 당신은 국제선의 막차를 타게 될지도 모른다.

12. 백화점에서 쇼핑하는 즐거움을 잊으라.

여성들은 백화점이나 가게에서 구경하는 것 말고 다른 취미를 개발해야 한다. 신용카드의 유혹을 조심하라.

13. 은행이나 금융기관이 안전하다고 믿지 말라.

은행이나 금융기관의 광고를 냉정하게 평가 하라. 예금을 몽땅 날릴 수도 있고 그렇게 까진 아니더라도 몇 달씩 묶일 수 있다.

14. 텔레비전은 당신의 소비욕을 자극하고 당신의 귀중한 시간을 낭비하게 한다.

텔레비전을 볼 시간에 무엇인가를 읽어라. 읽고 아는 만큼 손해를 덜 보고 기회를 많이 잡을 것이다.

15. 감세 혜택을 받는 것이 무엇인지 알아보라.

세금을 적게 내는 길이 있는데도 많은 사람들은 그것을 모른다. 불황시대에 세금을 절약하는 것은 그만큼 버는 것이다.

16. 장기적으로 생각하라. 불황의 시기에는 무엇이든지 당장 되는 일이 없다.

당장 무엇을 이루려고 생각해서는 결코 잘 되지 않는다. 인내를 가지고 끈기 있게 버텨라.

대공황(Great Depression) 사진, Thousands of unemployed people wait outside the State Labor Bureau in New York City to register for federal relief jobs in 1933 AP

17. 사업가라면 정부나 최고부유층과 관계되는 아이템을 찾아보는 것이 좋다.

그래도 국가나 최고부유층은 안전하니까. 민간에게 이양하는 국가서비스를 알아보는 것이 좋을 것이다.

18. 해외에서 길을 찾아보라.

사업도 해외에서 하는 것, 해외로 확장하거나 해외와 네트워크를 구성하는 길을 찾아보라. 국가와 국가 사이에는 여전히 기회가 있다.

19. 금이나 귀금속을 보유하는 것도 안전을 구하는 하나의 방법이다.

20. 건강에 더욱 신경 써라.

자신도 모르는 사이에 당신의 건강이 무너지고 있을 가능성이 많다. 스트레스를 줄이기 위한 당신만의 방법을 개발하라. 불행한 시기에 가장 중요한 것은 건강이다.

21. 도시에 살거나 경제가 급속히 나빠지는 지역에 산다면 이사 가는 것을 고려하라.

공황이 온다면 언젠가는 도시로부터의 탈출이 일어난다. 불황의 시대에 살려면 소비주의에서 벗어나야 하고 그러기 위해서는 비용이 덜 드는 지역으로 이사를 가는 것이 가장 좋다.

22. 당신이 상대적으로 여유가 있는 사람이라면 특히 다른 사람을 도울 줄 알아야 한다.

불우한 사람에 대한 작은 도움이 언젠가는 엄청난 은혜로 돌아올 수 있는 것이 불황의 시대다. 반대로 작은 도움을 외면하다가는 잘못하면 큰 해를 입을 수도 있다.

23. 다른 사람들에게 거들먹거리지 말고 참는 연습을 하라.

불황의 시대에는 많은 사람들이 충동적이다. 거들먹거리는 사람을 보고 공격 충동을 참을 수 없는 사람이 있다는 것을 명심하라. 당신이 겸손하다면 그만큼 당신의 주변에 기회를 제공하는 사람이 많아진다.

24. 자녀들에게 검약을 가르쳐라.

경제가 어려워져도 아이들의 소비는 천천히 줄어든다. 부모들이 잘못 가르치기 때문이다. 아이들의 소비가 나중에는 큰 짐이 된다.그리고 아이들 자신도 소비를 줄이는 일이 나중에는 더욱 힘이 든다는 것을 알도록 해야 한다.

25. 집은 구입하기보다 임대하는 것이 좋다.

집값보다 돈값이 덜 떨어진다는 것을 명심하라. 공황이 도래하면 집은 거의 거래가 되지 않는 수준에까지 갈 수도 있다. 과거의 대공황에서는 부동산이 파산경매에서 그 이전 가격의 1%도 받지 못한 경우가 있다.

대공황(Great Depression) 사진 03

26. 주식시장에서는 과거와 같이 사놓고 기다리는 전략은 더 이상 통하지 않는다.

주식을 사놓고 하염없이 오를 때를 기다리는 경우, 대개는 당신의 기대를 배반할 것이다. 한국과 같이 주식시장의 규모가 작은 경우엔 때에 따라서 오를 수도 있다. 이런 단기 변동을 이용할 수 있을 것이다.

27. 돈이 있어 안전한 것을 구하는 사람이라면 이 지구상에 세계시장에 전혀 편입되지 않은 지역의 부동산에 눈을 돌리는 것도 하나의 방법이다.

그곳에는 디플레이션이나 공황 이전과 이후의 차이가 없으므로 안전하게 처음의 가치가 보전된다.

28. 당신이 만약 돈을 어느 정도 가지고 있다면 바닥에 있는 자산들을 구입하여 장기적으로 기대해 볼 수 있을 것이다.

공황의 시기에는 수많은 부동산이 저가로 굴러다니니까. 그렇지만 그것도 공황이 끝날 때까지 견뎌야 한다는 것을 계산해야 한다.

29. 당신이 만약 상대적으로 돈이 많다면 유언을 미리 작성해 놓는 것도 좋은 일이다.

한국에는 유언을 미리 작성하는 일이 거의 없다. 그렇지만 유언을 미리 작성해 두지 않으면 불황의 시기에 자식들 간에 큰 반목을 야기할 수 있다는 것을 알라. 불황은 사람의 마음을 각박하게 만든다.

30. 만약 돈이 많다면 사회활동을 하는 민간단체, 재단법인을 설립하는 것도 좋다.

세금을 절약할 뿐만 아니라 불황의 시대를 살아가면서 사회적 질시를 피할 수 있고 당신의 명예를 지킬 수 있다. 한국과 같은 사회에서 불황의 시대에 돈만 많은 사람은 위험하다.

31. 같은 어려움을 가진 사람들끼리 조직을 만들어라.

아무리 실업자가 많아도 실업자 조직이 없으면 신문에는 실업문제가 없는 것이 된다. 그리고 신문에 없는 문제는 사회에 없는 문제다. 조직이야말로 가난하고 힘없는 사람이 정부와 권력과 부유층을 상대로 정당한 권리를 확보할 수 있는 방법이다.

32. 프로정신은 필요하지만 전문가가 다 잘 살 수 있는 것은 아니다.

적게 벌더라도 틈새를 찾아라. 당신이 비아그라를 발명했다면 공황시대라도 걱정 없을 것이다. 그러나 비아그라에 도전한 전 세계 기관 중 오직 한 곳만 성공했다. 프로정신을 가지고 전문가가 되어야 하겠지만 그렇지 못하다면 적게 벌더라도 견디어 낼 수 있는 틈새를 찾아야 한다.

33. 허례허식을 버려야 한다.

공황시대에 품위를 유지하려고 애쓰지 마라. 결국 언젠가는 필요하지 않은 비용은 지출할 수 없게 된다. 그렇다면 좀더 일찍 버려라.그것이 남는 것이다.

34. 사채를 빌리는 것은 치명적인 결과를 가져올 수 있다.

공황시대의 자살은 가장 많은 경우 부채 때문이다. 공황시대에는 돈을 빌려준 사람도 그것을 받아내는 것이 결사적인 상황이 된다.돌려받지 못하면 자기가 죽을 판이니까. 하물며 어느 사회에나 악명이 높은 사채업자들에게 말려들어서는 안 된다. 그들은 폭력배까지 동원하여 당신을 괴롭힐 것이다.

대공황(Great Depression) 사진 012

35. 쿠폰이나 마일리지 등 알뜰한 생활방식을 체득하라.

디플레이션 때에는 돈이 가장 가치 있는 것이다. 별 것 아닌 쿠폰도 모으면 도움이 된다. 인플레이션 시대의 천원과 디플레이션 시대의 천원은 그 값이 다르다. 자기가 소비한 것에 대한 덤을 알뜰히 챙겨라.

36. 중고제품, 복고상품에 눈을 돌려보라.

유행 안 타는 상품을 찾아보라. 삶이 어려워지면 복고상품에 대한 향수가 삶의 어려움을 보완해준다. 유행을 포기하는 사람이 늘어나고, 유행 안 타는 것이 유행이 될 것이다.

37. 가정은 파괴되고 불륜은 증가하고 섹스산업은 늘어난다.

유연한 마음을 가져라. 가장 어려운 때에 처하면 여자는 몸을 팔고 남자는 피를 판다. 살아남기 위해서는 어쩌겠는가. 그리하여 가정의 파괴가 늘어나는 것이다. 섹스산업은 불황일 때 증가한다.

38. 시집살이, 처가살이, 대가족주의도 하나의 대응이다.

소가족, 핵가족은 성장시대의 신화이다. 실제로 그것이 반드시 좋은 것도 아니다. 대가족주의는 어려운 시대를 사는 하나의 지혜이기도 하고 새로운 시대를 살아가는 방식이 될 수도 있다.

39. 자격증을 열심히 취득해 두라.

대학보다는 누가 어떤 일을 할 수 있는지를 가장 확실하게 증명하는 것이 자격증이다. 디플레이션과 공황은 자격증의 시대를 앞당길 것이다. 개인으로서는 당장 필요하지 않더라도 자격증을 취득해 두는 것이 좋다.

경제대공황 당시 실업자들의 행렬 (캐나다 토론토, 1930년) 피켓에 '우리는 일시체류자가 아니라 시민이 되고 싶다'고 쓰여 있다 위키디피아 제공

40. 낚시, 등산, 민박 등 시간과 비용을 죽이는 일에 눈을 돌려 보라.

성장의 시대에는 시간을 아끼는 산업이 발전하지만 공황의 시대에는 시간을 죽이고 비용이 적게 드는 활동이 증가한다. 그런 수요를 얻는 일에 생각을 맞추어 보라.

41. 국책연구기관이나 민간연구기관이나 경제학자들의 말을 의심하라.

대통령의 말도 믿지 말라. 대공황을 야기한 주가폭락을 불과 7개월 정도 앞둔 1929년 3월 당시 미국 대통령 쿨리지는 대통령직을 떠나면서, 미국의 번영은 전적으로 견실하다고 했다. 당시 연방준비제도 이사회도 마찬가지였다.

42. 주식가격의 하락은 끝이 없다. 바닥이라는 말을 믿지 말라.

대공황 시기에 미국 주식가격은 1929년 9월에 최고 216을 기록했는바 1932년 중반에는 34의 수준으로 하락했다. 이것은 최고 시기의 15% 수준으로 떨어진 것이다.

43. 때때로 경기가 회복되는 것처럼 보여도 그것을 믿어서는 안 된다.

1930년 5월 1일, 후버대통령은 미국이 최악의 사태를 넘긴 것으로 확신한다고 발표했으나 실제로는 그렇지 않았다. 현재의 경우도 세계 금융에서 자본거래가 회복되는 것 같은 상황이 보이더라도 그것이 경기를 회복시키는 신호는 아니다.

44. 환율의 급격한 변동, 은행 도산 등은 되풀이된다.

안정되는 것처럼 보여도 안심해선 안된다. 대공황 당시 1930년말부터 1931년에 걸쳐 상품가격들이 계속 하락하고 그와 함께 아르헨티나의 페소화, 호주의 파운드화, 뉴질랜드의 파운드화가 다시금 폭락했다. 그리고 은행의 도산이 시작되었다. 은행들이 도산하면서 인출 사태가 줄을 이었다.

45. 금 가격의 변화를 주목해서 보라.

각국 중앙은행들이 기축통화가 아닌 금의 보유를 증대시키면 그것은 이미 본격적인 공황이다. 대공황 당시 기축통화의 역할을 하던 영국 파운드화는 1931년에 4.86달러에서 며칠 만에 25% 하락해 3.75달러가 됐다. 오늘날 기축통화인 미국의 달러화가 일본의 엔화나 독일의 마르크화에 대하여 지속적으로 하락한다면 그것은 본격적인 공황이 시작되고 있음을 의미한다. 나아가 각국의 중앙은행이 달러화 보유를 버리고 달러로 금을 사들이기 시작한다면 그것은 이미 공황이다.

46. 세계경제회의의 토의내용이나 합의사항을 주시하라.

공황의 시대에는 정치지도자들이 세계경제회의를 자주 할 수밖에 없다. 협력할 내용은 많고 국가이익 때문에 합의는 안 되기 때문이다. 공황의 시대에 국가간에는 서로 시장 쟁탈전이 일어나므로 어떤 판로가 막히고 어떤 판로가 열리는지 기업가는 항상 살펴야 한다. 어떤 품목은 갑자기 외국 판로가 막히고 어떤 품목은 갑자기 열린다. 정치적 합의에 의해 시장이 열리고 닫히는 것이다.

47. 경제회복은 완만하고 분야에 따라 그 속도가 다르다.

어떤 산업분야에서 경기가 나아지고 있는지를 살펴라. 미국의 대공황시기 영국에서는 가장 성공적인 산업분야가 주택건설산업이었고 미국도 주택건설업과 자동차산업에서 경기가 나아졌다. 회복되는 산업분야를 살피고 그 산업분야와 연관되는 행동을 설계하라.

48. 경기회복 후에도 다시 경기후퇴가 있다.

회복 시에도 후퇴에 대비하라. 미국은 대공황 탈출 이후에도 1937년 주식시장이 다시 폭락하고 상품가격, 공업생산이 급격히 감소했다. 다시 공황상태에 빠진 것이다. 왜 그랬을까. 사실은 1933년부터의 상승이란 것이 재고 누적에 의한 가짜 상승이었던 것이다.

49. 세계주의에 속지 말라.

미국이나 영국보다는 일본이나 중국이 중요하다. 대공황 시대에 세계 경제는 분해되어 버렸다. 무역은 점차 양국간 교역이 중심이 되고 있으며 다각무역도 블록 내에 한정되고 있다. 오늘날 세계무역을 지향하는 업체는 대공황 시에 한꺼번에 시장을 상실할 것이다.민간자본시장은 거의 소멸해 버린다. 한국이 세계공황을 맞게 되면 무역은 결국 중국, 일본, 동남아 등과의 관계가 주축일 수밖에 없다.

선문대학교 송희식 교수

위 글은 선문대학교 송희식교수의 글로 인터넷에 공유된 글을 다시 여기에서 공유합니다.

송희식교수는

  • 서울대 상대 경영학과를 졸업
  • 16회 행정고시, 18회 사법고시에 합격
  • 검사, 변호사 역임
  • 2008년 선문대학교 법학과 교수로 재직
  • 저서로 ‘교육대개혁과 국가경쟁력’,’분배와 성장’, ‘존재로부터의 해방’, ‘자본주의와 사회주의의 지양’, 소설 ‘남자는 싸우고 여자는 이어간다’ 등

진격의 아마존이 유기농 마켓 홀푸드(Whole Foods)를 인수한 3가지 이유

3

아마존이 미국 최대 유기농 식품업체인 홀푸드(Whole Foods)를 인수한다는 보도가 나왔습니다. 아마존의 행보는 많은 사람들에게 아주 첨예한 관심사인데요. 뉴욕대 마케팅교수인 Scott Galloway가 지난 5월 아마존의 홀푸드 인수를 예측해서 관심을 받고 있습니다.

오늘은 Scott Galloway의 예측을 살펴보고 아마존의 홀푸드 인수가 가지는 의미를 살펴 보려합니다.

1. Executive Summary

  1. 뉴욕대 마케팅교수인 스캇 갤로웨이(Scott Galloway)교수가 지난 5월 아마존의 홀푸드 인수를 예측해서 관심을 받고 있습니다.

  2. 아마존의 홀푸드(Whole Foods) 인수에 대해 간련 업계이 주식이 폭락하는 등 민감한 반응을 보이고 있습니다.

  3. 아마존의 홀푸드(Whole Foods) 인수의 의미는 세가지 정도로 정리해 봤습니다.

첫째 아마존의 전략적 관점에서 그동안 오프라인 시장 관련 시험적인 시도에 그쳤던 아마존이 이제는 본격적으로 오프라인인 시장으로 진출하는 신호탄이 바로 홀푸드(Whole Foods) 인수로 보여 집니다.

둘째 아마존 관점에서, 아마존은 오프라인 유통 진출의 관문으로 식료품 유통을 택했고 여기서 진검 승부를 걸고 있으며 이의 전진기지가 홀푸드(Whole Foods)가 될 것이다.

셋째 홀푸드(Whole Foods) 관점에서 아마존과의 시너지로 새로운 도약의 계기가 될 것이다.

아마존은 아마존 고를 통해서 매장에서 혁신 방향을 보여주었고 아마존 프헤쉬픽업을 통해서 온라인과 오프라인의 통합 방향을 제안했으며 아마존 프레시로 온라인 쇼핑에 버금가는 식료품 유통의 사용자 경험을 실험해왔고 이를 기반으로 이제 본격적인 오프라인으로의 대장정이 나서 오프라인 유통을 조금씩 뒤흔들 준비를 하고 있다는 판단입니다.

2. Scott Galloway교수가 아마존의 홀푸드 인수를 예측하다.

스캇 갤로웨이(Scott Galloway)교수는 지난 2017년 5월 8일 비즈니스 인사이더와의 인터뷰에서 아마존의 홀푸드 인수를 예측했습니다. 아래는 인터뷰 내용을 의역해 보았습니다.

진격의 아마존이 유기농 마켓 홀푸드(Whole Foods)를 인수한 3가지 이유 1
뉴욕대 마케팅교수 스캇 갤로웨이(Scott Galloway)교수,
사진은 economy.com에서 인용

“아마 식료품 부분은 혁신적 파괴가 가능한 가장 성숙한 소비재 일 겁니다. 이는 미국에서만 7,500억달러에 이르는 세계에서 가장 큰 소비재 부문이죠.
그러나 (식품을 취급하는) 슈퍼마켓에 간다면 여기는 1985년과 별다른 차이가 없다는 것을 알 수 있을 것입니다.”

“홀푸드(Whole Foods)가 이 비지니스에 들어와 기존과 차별화되고 더 나은 서비스를 제공하기 시작했습니다. 불행하게도 이 (홀푸드)서비스는 너무 비쌉니다. 그리고 이 분야에는 Wegmans와 Trader Joe’s와 같은 성과를 내는 업체들이 있습니다. 그리고 이 시장을 살펴볼 때 엄청난 기회가 있습니다.”

“나의 예측은 아마존이 홀푸드(Whole Foods)와 웨그맨스(Wegmans)와 같은 업체들이 식료품 사업을 장악하기전에 인수할 것 입니다. 이들 식료품업체는 유통이 필요합니다. 이들 회사는 힘겨워하고 있으며 유통을 제외하고는 인수할 가치가 많지 않습니다. 이들은 폐업하고 단지 창고로 활용될 수 도 있습니다.”

3. 아마존의 홀푸드(Whole Foods) 인수

아마존의 홀푸드(Whole Foods) 인수 내용은 아래와 같이 알려져 있습니다.

인수가격은 137억달러(한화 15조 5천억원)로 주당 42달러로 2017년 6월 15일 종가보다 27% 높은 수준입니다. 아마 협상과정에서 30% 정도 프리미엄을 주기로 협의한 것이 아닐까 생각해 봅니다.

아마존이 인수한 홀푸드(Whole Foods)는 현재의 브랜드를 유지하며 아마존의 독립사업부로 운영됩다고 합니다. 또한 기존 경영진도 유임된다고 합니다.

홀푸드(Whole Foods)에 대한 정보 47중에서 한글로 정리된 자료가 있어 소개해 봅니다. 여기를 보면 홀푸드(Whole Foods)에 대해서 대략 이해할 수 있을 겁니다.

착한 기업 탐구 : 유기농 슈퍼 마켓 홀푸드 마켓, Whole Foods Market. Inc (Nasdaq : WFM)

▽ 유기농 식품이란 컨셉과 매장 디자인이 잘 어울리는
오클라호마시에 위차한 홀푸드 매장
이미지 : media.wholefoodsmarket.com

홀푸드 매장 Whole Foods Market in Oklahoma City media.wholefoodsmarket.com

4. 아마존의 홀푸드(Whole Foods) 인수에 대한 시장 반응

아마존이 서점업계를 평정하고 온라인 시장을 장악하면서 시장에 미치는 영향력이 어마어마해졌는데요.
아마존이 온라인에서 만족하지 못하고 오프라인으로 영역을 계속하면서 온라인/오프라인 모두를 장악하겠다는 야심을 드러내고 있습니다.

이러한 아마존은 모든 기업의 경계 대상인데요.
워싱턴 포스트이 보도한 바에 따르면 아마존이 홀푸드(Whole Foods)를 인수한다고 발표 후 식료품 관련 기업 주가가 일제히 폭락해 아마존이 본격적으로 이 시장에 진입함에 따른 관련 업계의 공포를 간접적으로 표현해 주고 있습니다.

식품업체인 크로거는 14.6% 폭락했고, 유기농 식료품업체로 홀푸드(Whole Foods)의 경쟁업체인 Sprouts Farmers Market은 12.9% 폭락했습니다.
그리고 월마트, 코스트코, 타겟과 같은 아마존의 경쟁 유통 업체의 주가도 5~6% 하락했습니다.

반면 홀푸드(Whole Foods)는 27% 폭등했고 아마존도 3.1% 상승해 아마존에 대한 시장의 기대를 반영했습니다.

▽ 아마존이 홀푸드(Whole Foods) 인수 후 관련 식품 기업 주가 변화,
2017년 06월 16일 기준,
자료는 워싱턴포스트지 인용

아마존이 홀푸드(Whole Foods) 인수 후 관련 식품 기업 주가 변화 20170616

5. 아마존의 홀푸드(Whole Foods) 인수의 의미

그러면 아마존의 홀푸드(Whole Foods) 인수 의미는 무엇일까요?
이는 아마존이 식료품 시장에 진출하기위한 전략 관점에서 그리고 홀푸드(Whole Foods) 자체 성과 가능성 관점에서 생각해 보았습니다.

5.1. 실험을 마치고 본격적인 오프라인 진출을 선언하는 신호탄

이번 아마존의 홀푸드(Whole Foods) 인수의 가장 큰 의미는 그 동안 오프라인 시장 관련 시험적인 시도에 그쳤던 아마존이 이제는 본격적으로 오프라인인 시장으로 진출하는 신호탄이 바로 홀푸드(Whole Foods) 인수가 아닐까 합니다.

아마존은 그동안 오프라인 사업과 관련해 다양한 시도를 해왔습니다. 이는 대부분 실험적인 형태를 띠고 있었습니다.

계산대 없는 새로운 형태의 매장, 아마존 고(Amazon Go)

2016년 12월 5일 계산대 없는 새로운 형태의 아마존 고(Amazon Go)를 를 발표했는데요. 이도 시애틀 2군데에서 비공개적으로 아마존 임직원을 대상으로 테스팅을 하는 실험적인 매장이었습니다.

계산대 없는 매장 아마존 고에서 읽을 수 있는 세가지 인사이트 참고

▽ 아래는 아마존 고를 설명하기 위해 아마존에서 공개한 비디오인데
간단한 컨셉 그리고 어떻게 작동하는지를 아주 쉽게 설명해주고 있다.

온라인으로 주문, 15분 후에 찾아가는 AmazonFresh Pickup 서비스

아마존은 2017년 4월 AmazonFresh Pickup 서비스를 런칭했는데요. 소비자는 온라인으로 주문하고 15분내 매장에서 주문한 물건을 바로 픽업해가는 서비스입니다.
2017년 6월 현재까지 아마존은 단지 2개 매장만을 오픈한 상태인데요. 이 또한 실험적인 성격이 매우 강합니다.
그리고 아마존 프라임 멤버에게는 무료로 서비스한다고하는데 아마존 성장에 어쩌면 가장 큰 기영를 하고 있는 아마존 프라임 멤버스가 여기서도 큰 역활을 하고 있습니다.

최근 들리는 소식은 아마존이 Friday’s deal(금요일 프로모션)이후 거래액이 급증하고 있다고 합니다. 한마디로 이 컨셉은 충분한 성공 가능성을 보여주고 있다고 합니다.

▽ 아래는 AmazonFresh Pickup서비스를 설명하는 동영상,
아마존에서 만든 영상을 토대로 비지니스 인사이더에서 약간 편집한 버젼

이러한 실험적인 서비스를 토대로 홀푸드(Whole Foods) 인수를 계기로 본격저인 오프라인 시장으로 진출한다는 의미를 부여할 수 밖에 없습니다.
본격적인 진출로 이해되기 때문에 크로거를 비롯한 식품 업체의 주가가 폭락한 것이지요.

5.2. 아마존, 오프라인 유통의 관문 식료품 유통에서 승부를 걸다. – 전진기지로서 홀푸드(Whole Foods)

아마존은 식료품, 가구, 가전 등 전반위적으로 오프라인에서 판매하는 모든 것을 장악하고 싶어하는 야망을 가지고 있습니다.

이에 대해서는 일전에 포스팅한아마존이 거대한 야망을 드러내다 – 가구와 가전 오프라인 매장을 추진중인 아마존 라는 포스팅이 이러한 아마존의 야망을 잘 설명하고 있다고 생각합니다.

이러한 다양한 제품군중에서 아마존이 아마존 프레쉬(Amazon Fresh)를 필두로 식료품 부문에 신경을 쓰는 이유는 아래처럼 세가지 정도로 정리해 보았습니다.

첫째, 식료품 부분이 가장 낙후된 유통 부문중의 하나라서 혁신을 통한 새로운 사용경험을 줄 수 있는 가능성이 크다는 점입니다. 이는 앞서 인용한 뉴욕대마케팅교수인 Scott Galloway의 인터뷰에서도 살짝 언급된 내용입니다. 아직 1985년에 왔는 것 같다고..

둘째, 식료품 부분이 그 만큼 낙후된 것은 수요와 공급을 연결해서 새로운 사용경험을 만들어내기가 가장 어려운 부분이기 때문입니다. 신선한 식품을 제때에 제대로 공급받아서 배달해주는 것은 바꾸는 것은 사회 인프라를 토애로 바꾸는 것처럼 쉽지는 않은 일입니다. 따라서 이 식료품 부분에서 성공 방정식을 풀 수 있다면 그 파급 효과가 어마아마할 것 이기 때문입니다.

셋째, 이 어려운 식료품 부문에서 방정식을 풀 수 있다면 여기서의 경험을 토대로 다른 제품군으로 확장시키는 시너지가 어마어마할 것이기 때문입니다.

저는 이러한 이유로 아마존이 식료품 시장에 2007년부터 투자해오고 있다고 생각합니다. 다르게 생각하면 아마존은 그동안 오란인에 집중하면서도 오프라인을 어떻게 공략할 것인지를 끊임없이 도상 훈련해 오지 않았나 추정해 봅니다.

그 선두에 아마존 프레쉬(Amazon Fresh)가 있습니다.
이번 아마존의 홀푸드(Whole Foods) 인수는 이 있는 아마존 프레쉬(Amazon Fresh) 성장 기반이 강화될 것으로 보입니다.

아마존 프레쉬 배달 모습 아마존 홈페이지 AmazonFresh Amazon site amazon-innovations-amazon-fresh

앞에서 이야기한 것처럼 식료품들을 효과적으로 소비자들에게 배송하기 위해서는 물리적인 매장이 절대적으로 필요합니다.

홀푸드(Whole Foods)는 전국적으로 440개의 점포를 가지고 있죠. 이 점포들은 상당히 중요한 위치에 포진해 있어 아마존으로서 홀푸드(Whole Foods) 매장을 거점으로 아마존 프레쉬(Amazon Fresh)의 사업을 확장할 수 있는 좋은 기회를 갖게 됩니다.

사실 그동안 아마존 프레쉬(Amazon Fresh)의 진척 속도는 너무 느렸습니다.
아마존 프레쉬(Amazon Fresh)는 2007년 시애틀에서 시작했으니 생각보다 시간이 많이 을렀습니다. 그런데 이 아마존 프레쉬(Amazon Fresh)가 LA 지역에 서비스되는 시기가 2016년 12월 쯤 됩니다. 그만큼 확산 속도가 느렸다는 것입니다.

아마존으로는 기존 식료품 배달사업과 충분한 차별점을 만들지 못해서일 수도 있고 결정적인 시기가 올때까지 충분한 실험을 하겠다는 의도 일 수 있겠습니다.

이러한 한계를 타계하고자 위에서도 소갰지만 2017년 4월 AmazonFresh Pickup 서비스를 런칭했는데요. 소비자는 온라인으로 주문하고 15분내 매장에서 주문한 물건을 바로 픽업해가는 서비스입니다.
지금까지 아마존은 단지 2개 매장만을 오픈한 상태인데요. 최근 Friday’s deal(금요일 프로모션)이후 거래액이 급증하고 있다고 합니다. 한마디로 충분한 성공 가능성을 보여주고 있는 것이지요.

홀푸드(Whole Foods) 매장은 이러한 AmazonFresh Pickup 서비스를 제대로 지원해 줄수 있는 거점이 될 수 있습니다.

5.3. 홀푸드(Whole Foods), 아마존과의 시너지로 새로운 도약의 계기가 될 듯

앞의 뉴욕대 마케팅교수인 Scott Galloway의 홀푸드(Whole Foods)에 대한 평가를 다시 이용해 보겠습니다.

홀푸드(Whole Foods)가 이 비지니스에 들어와 기존과 차별화되고 더 나은 서비스를 제공하기 시작했습니다.
불행하게도 이 (홀푸드)서비스는 너무 비쌉니다.

아마존이 홀푸드(Whole Foods)를 인수하면서 어떻게 시너지를 낼 수 있을까요? 어떤 방향으로 전략을 전개할까요?
저는 Scott Galloway 지적, 차별화된 서비스이지만 비싸다에 주목하고 싶습니다.
아마존의 성공 공식은 소비자 가치를 극대화하고 비용을 최소화하면서 규모의 경제를 실현해 궁극적으로는 비지니스를 활성화하고 업계를 평정하는 것입니다.

마찬가지로 아마존이 가지고 있는 물류 시스템과 프라임 멤버스라는 어마어마한 아마존의 자산과 홀푸드(Whole Foods)의 차별화된 서비스가 만나서 보다 더나은 사용 경험을 제공할 것으로 보입니다.

그리고 이는 업계 경쟁 격화로 정체에 빠진 매출을 빠르게 증가시킬 계기가 될 수 있습니다.

▽ 홀푸드(Whole Foods) 매출 증가율 추이,
2016년부터 분기별 매출 증가율이 급격히 둔화되고 있다.
아마존의 인수가 이런 둔화를 다시 성장으로 전환 시킬 수 있을까?

홀푸드(Whole Foods) 매출 증가율 추이

6. 마치며

아마존에 대해 알아보면 볼수록 그들의 잠재력에 대해 놀라게 됩니다. 그리고 그들이 않하는게 뭔지, 그들의 끝은 어디인지 궁금해질 정도로.
한국에서라면 아마존의 이러한 다양한 부문으로 문어발 확장은 엄청난 사회작 비난에 직면할 가능성이 높습니다. 한국이라는 특수성을 이해해야할지 모르겠습니다. 아마 미국이라는 특성상 그리고 단지 자본의 힘을 빌려 영역을 확대하는 것이 아니라 혁신을 동반하기 때문에 아마존의 진출을 당연하게 받아드리는 것이 아닐까 합니다.

이번 아마존의 홀푸드(Whole Foods) 인수는 여러모로 유통사에서 이정표가 될 수 있는 사건인 것 같습니다.
그동안 오프라인에서 시험적인 시도에 그쳤던 아마존이 이제는 본격적으로 오프라인인 시장으로 진출하는 신호탄으로서 홀푸드(Whole Foods) 인수가 앞으로 어떤 성과를 가져올지 자못 기대가 됩니다.

이에 맞서는 월마트 등 기존 유통은 어떤 전략을 취할지 상당히 흥미지지한 전쟁이 기다리고 있는 것 같습니다.

아래 몇가지 참조했던 기사를 링크해 봅니다.

Amazon is buying more than groceries with Whole Foods — it’s also getting more than 400 stores to use as delivery hubs

Documents reveal ‘AmazonFresh Pickup’ as the tech giant’s next physical retail concept

GROCERIES COULD BE AMAZON’S NEXT KILLER APP — IF IT CAN SOLVE THE MATH

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

이번 인터넷나야나의 랜섬웨어 사태를 보면서 새삼 백업과 보안의 중요성을 느끼게 해주었습니다. 며칠동안 부족한 실력을 총 동원해서 2중, 3중의 백업 체계를 세웠는데요.

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

오늘은 사이트 보안을 더 강화할 수 있는 방안이 무엇일까 정리해 보겠습니다.
계속 말씀드리자면 제가 글을 쓰는 이유는 저와 같은 초심자들이 삽질을 조금 덜하고자 조그마한 정보라도 공유하고자 합니다. 전문가 분들에게는 별 도움이 안될 수 있습니다.

1. 테마, 플러그인 등 소프트웨어를 최신으로 유지

뭐 당연한 이야기 일수도 있습니다.

며칠 전 사내 컴퓨터 수리 엔지니어와 이야기할 기회가 있었는데요. 저는 M.2 설치를 위해서 서비스를 요청한 상태였습니다. (저희 회사는 컴퓨터 부품을 개인이 직접 변경하지 않고 반드시 서비스 업체에 의뢰토록 하고 있습니다.)
그 분이 최근 랜섬웨어때문에 진짜 바쁘다고 하더군요. 아니 감염된 PC가 있느냐고 했더니 감염되지는 않았지만 이상 반응을 보이는 PC들이 많다고 합니다. 그런 PC들의 100%가 실험실 등에서 실험용으로 강제 업데이트 대상들이 아니므로 예전 버젼이나 패치하지 않은 상태에서 사용하던 PC들이라고 하더군요. 그리고 정상적으로 OS 업데이트 및 패치들이 이루어 졌으면 아무런 문제가 없었다고 합니다. 그만큼 최신버젼으로 업데이트 및 보안 패치가 중요하다는 말씀도 하시더군요.

2. 자주 업데이트 되는 믿을 수 있는 소프트웨어 사용

사실 소프트웨어는 완벽할 수 없고 해킹하는 입장에서도 해킹 기술을 끊임없이 발전시키므로 계속되어 문제점이나 취약점이 발견될 수 밖에 없습니다.
이 때 얼마나 빨리 이런 문제점 또는 취약점을 보완해 업데이트 해주느냐가 중요합니다.

그런 의미에서 비록 유료지만 제대로 업데이트되고 보안 패치되는 프로그램만 사용하는 것도 이제는 매우 중요해졌습니다.

무료 프로그램이 나쁘다는 이야기는 절대 아닙니다.

아주 빠르게 변하고 있고 지속해서 문제점과 취약점이 나타나고 있는 상황이라면 이런 변화를 제때에 바로 바로 대응해 줄수 있는 프로그램이냐는 것이 매우 중요합니다. 무료 프로그램이면서 이런 조건을 충족한다면 당연히 이걸 사용해야지요.

하고싶은 이야기는 이제는 조금 비용을 들이드라도 보안에 신경을 써야한다는 점을 이야기하고 싶습니다.

워드프레스 테마나 플러그인 list를 보면 워드프레스 최신버젼에서 충분히 테스트 되었다는 문구가 나오는데요. 이런 문구가 있는 플러그인 또는 테마를 사용하는 것이 중요하다는 생각을 합니다.

이제는 한두푼 아끼려다 사이트 전체를 날리는 사태가 올 수 있기 때문에 보안을 위해서라도 믿을 수 있는 테마, 플러그인등을 선택할 필요가 있습니다.

3. 비밀번호(패스워드)는 최대한 어렵게

해커들은 입력 가능한 모든 문자열을 무차별적으로 대입하여 비밀번호를 알아내기도하고 , 해커들이 사용하는 패스워드 사전에서 흔하게 쓰이는 비밀번호들 중 가능성이 높은 것들을 차례로 대입하여 쉽게 패스워드를 알아 내기도 합니다.

따라서 보안이 강화된 패스워드를 사용하기 위해서는 최대로 어려운 비밀번호(패스워드)를 사용해야 합니다. 어느 분이 그러던데요. 사람들이 기억할 수 있는 위운 비밀번호보다는 포스트잇에 적어 둔 어려운 비밀번호가 훨 났다고 .. 사용자 PC앞에 붙여 놓은 포스트 잇을 훔쳐갈 수 있는 해커는 없다고.. (물론 해커가 같이 살고 있는 동생이라면 가능하겠죠.)

첫째, 단순한 단어로 만드는 것을 피해야 합니다.

둘째, 일반 사이트에서 사용하는 사용하는 패스워드를와 동일한 패스워드를 사용하면 안됩니다. 다른 사이트에서 보안이 뚫리면 같은 패스워드를 사용하는 사이트도 바로 뚫릴 수 있기 때문입니다.

셋째, 워드프레스 시스템에 필요한 서버 계정 패스워드, 서버 패스워드, SSL패스워드, 워드프레스 관리자 계정 패스워드등등의 패스워드를 모두 다르게 사용하는게 좋을 것 같습니다. 같은 것을 사용한다면 사이트가 한층 깊게 완벽하게 털릴수 밖에 없습니다.

넷째, 패스워드를 문자+아리바아 수사 + 특수문자 + 대소문자 구분 등을 모두 사용해 쉽게 유추할 수 없도록 패스워드를 만드는게 필요합니다. 저도 처음에는 길면 귀찮기 때문에 6자 정도로 패스워드를 만들었는데 지금은 15자이상되는 패스워드를 사용하고 있습니다.

이번 인터넷나야나 사태로 보안, 백업등이 이슈화되면서 나오는이야기 중에서
웹호스팅업체중에서는 이렇게 보안이 강화된 패스워드를 지원하지 않는 곳도 있다고 하네요. 예를 들어 ivyro 호스팅은 SSH와 데이타베이스 그리고 홈페이지 계정 암호를 평문으로만 가능하다고 합니다, (XETOWN에서 flhelp님 의견 참조) 이런 업체의 경우는 이용하지 않는 게 좋을 것 같습니다.

나야나 … 서버 패스워드를 엑셀로 관리..헐

아래는 WPS Hide Login 에서 가져온 강력한 비밀번호를 만드는 방법입니다. 그래픽으로 만들어져 쉽고 재미있게 읽을 수 있습니다.

강력한 비밀번호 만들기 password-security

4. 워드프레스 관리자 이름 변경

지금은 많이 줄었지만 관리자 이름으로 그냥 admin을 사용하는 경우가 있는데요. 워드프레스가 디폴트로 admi을 관리자 이름으로 정하고 많은 서버 세팅시도 admin을 디폴트로 상요하다보니 admin 아이디로 해킹을 시작합니다.
이를 피하기 위해서는 관리ㅏ 이름을 유추하기 어려운 독특한 이름을 사용하는 게 좋다고 합니다.

보안-Security관련-구글-무료-이미지

5. 로그인을 원천 봉쇄하기

회원 가입이 중요한 커뮤니티 사이트라면 적용할 수 없지만 일반 사이트의 경우 회원 등록과 회원 로그인 없이 운영이 가능합니다. 회원들의 커뮤니티가 활발할 가능성이 없다면 차리리 회원 등록과 로그인을 막아 안전하게 운영하는 것이 더 나은 선택일 수 있습니다.

저의 경우도 워드프레스로 이전한 다음부터는 회원을 받지 않고 있니다. XE 시절 몇만의 회원이 등록되었지만 99%가 스팸성 회원이었습니다.
따라서 워드프레스로 이전하면서부터는 과감하게 회원을 받지 않기로 했습니다.

이렇다고 해도 워드프레스의 로그인 주소인 http://www.example.com/login로 등록을 시도할 수 있습니다.
이런 시도 자체를 막기위해서

첫째 방법은 로그인 주소http://www.example.com/login를 자신만이 알 수 있는 주소로 변경하는 것입니다. 그러면 일반적으로 해커들이 알고 있는 로그인 페이지로 접근하면 없는 페이지(404 에러)로 연결됩니다.
이는 이렇게 주소를 바꾸어주는 플러그인 WPS Hide Login 을 이용할 수 있습니다.

둘째 방법은 wp-login.php에 접근할 수 있는 IP를 제한하는 것입니다.
이는 아파치 서버의 경우 .htaccess 파일에 아래와 같은 코드에서 허용하는 IP를 적어 이 IP만 접속 가능토록 합니다.

12.11.22.33.44은 IP address를 의미합니다.

nginx 설정

NGINX 서버를 사용하고 있다면 /etc/nginx/nginx.conf 파일에서 아래 내용을 추가합니다.

location ~ ^/(wp-admin|wp-login.php) {
allow 11.22.33.44;
deny all;
}

apache 설정

apache를 사용하고 있다면 .htaccess에 다음을 추가해 줍니다.

<Files wp-login.php>
Order Deny,Allow
Deny from All
Allow from 11.22.33.44
</Files>

참고로 우리집의 IP address 확인은 명령 프롬프트에서 ipconfig를 쳐서 알수 있으며 또는 IP address를 알려주는 사이트를 활용할 수 있습니다.우리집 IP address 확인하기 에서 확인할 수 있습니다.

6. ssh 포트 변경

아래 내용은 q style=”text-align: left; color: #2196f3 ; font-size: 1.2em; “>가상서버호스팅에서 서버 보안 설정 방법 – Nginx +Ubuntu 16.04의 경우의 내용을 인용하였습니다.

일반적으로 ssh포트를 22번을 사용하는데 이는 너무 알려진 포트이므로 이를 이용해 공격해오는 경우가 있다고 한다. 따라서 자기만아는 포트 번호로 변경 사용하는 게 필요하다.

이를 위해서는 먼저 sshd_config에서 22번대신 사용할 포트 번호로 바꾸어 준다. 즉

/etc/ssh/sshd_config 에서 Port 22 를 찾아서 자기가 사용할 포트 숫자를 기억하기 쉽고 10000자리이상에서 임의의 숫자를선택한다. 예를 들어 58722, 65322 등등

이렇게 포트를 변경한 후 ssh 서비스를 재시작 합니다.
그리고 기존 ssh port로 사용했던 22번 포트는 접속할 수 없도록 막아줍니다.

ufw enable  # 방화벽을 활성화한다.
ufw allow 80/tcp  # 일반 웹 정보 관련 입출력 통로
ufw allow 443/tcp  # SSL 설치 시 웹정보 관련 입출력 통로 
ufw allow ****/tcp  # ssh를 위한 포트, 22번 포트는 너무 알려져 있어 여기로 공격하는 경우가 많아 포트를 바꾼다.
ufw deny 22/tcp  # ssh용으로 22포트를 사용할 수 없게 한다.

7. Ubuntu 방화벽 – ufw 설정

방화벽을 세팅해 최소한의 포트만 열어 놓는다.

ufw enable  # 방화벽을 활성화한다.
ufw allow 80/tcp  # 일반 웹 정보 관련 입출력 통로
ufw allow 443/tcp  # SSL 설치 시 웹정보 관련 입출력 통로 
ufw allow ****/tcp  # ssh를 위한 포트, 뒤에서 설명하겠지만 22번 포트는 너무 알려져 있어 여기로 공격하는 경우가 많아 포트를 바꾼다.

8. Fail2ban을 설치하여 보안을 강화

로그를 분석해 의심스러운 접근을 금지시키는 방법이 DenyHosts나 Fail2Ban이라는 프로그램입니다.

이 중 Fail2ban은 DenyHosts보다 훨씬 진보된 방식으로 SSH, Apache, Courier, FTP 등등에서 의심스러운 접근을 차단할 수 있는 프로그램입니다.

Fail2ba은 로그 파일을 모니터링해서 넘 많은 패스워드 입력 실패나 공격 감행 징후들이 보이면 IP를 차단합니다.

먼저 Fail2Ban을 설치하자.

apt-get install fail2ban

그 다음 설정을 변경한다. 이는 jail.conf 파일을 수정해야 한다.

vi /etc/fail2ban/jail.conf

여기에서 ignoreip, bantime, findtime , maxretry 등을 수정해서 재구성한다.

  • ignoreip에는 ban을 하면 않되는 IP를 적는다. 10.100.102.103/32 형식으로 적으며, 추가는 스페이스바로 구분한다.
  • bantime은 접속 차단 시간으로 기본이 600(10분)으로 되어 있음
  • findtime은 통계를 찾을 시간.
  • maxretry 는 fail 횟수이다. 기본으로 5가 세팅되어 있는데 이 정도면 충분하다고 보고 유지했다.

9. ping 금지

아래 내용은 가상서버호스팅에서 서버 보안 설정 방법 – Nginx +Ubuntu 16.04의 경우의 내용을 인용하였습니다.

해킹 목적으로 네트워크 침입을 시도 時 핑(Ping)을 통해 특정 서버가 살아있는지 확인하는 경우가 많고, 고전적이긴 하지만 DDOS 공격 시 무한 핑(ping) 요청으로 서버를 무력화를 시도하는 경우도 있기때문에 핑(ping)을 허용하지 않는 게 좋다.

이를 위해서는 방화벽 정책을 변경해 준다.
변경해야하는 설정 파일은 아래 경로를 참조

/etc/ufw/before.rules

아래 명령에서 ACCEPT를 DROP으로 변경하거나 삭제해 준다.

  -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT  → DROP으로 변경
  -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT   → DROP으로 변경
  -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT   → DROP으로 변경
  -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT   → DROP으로 변경
  -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT   → DROP으로 변경

10. 서버 운영, 정기적 보안 패치 및 공신력있는 저장소의 패키지만 사용

서버를 사용하고 있다면 정기적으로 터미널(shell)에 접속해 보안 패치를 비롯한 업그레이드 및 업데이트를 진행합니다,

apt-get update 
apt-get upgrade

그리고 출처를 알 수 없는 프로그램 사용하지 말고 공신력있는 저장소의 패키지만 설치합니다.
예를 들어 CentOS는 epel / remi / webtatic 등, 우분투(Ubuntu)는 ppa 등

11. 서버 운영, 서버 표시 정보 최소 노출

보안의 기본 중의 하나는 해커에게 서버 관련 정보를 가능하면 주지 않는것인데요.
서버에 관련된 정보도 최소한도록 노출이 되도록 설정할 필요가 있습니다.

nginx에서는 nginx.conf 의 http 항목에 다음 내용을 추가합니다.

http {
    server_tokens off;

12. 서버 운영, 보안 강화 HTTP 헤더 사용

HTTP 헤더에 보안을 강화하기 위한 여러 헤더를 적용합니다.
아래 내용은 우리집 IP address 확인하기에서 인용하였습니다.

  • X-Frame-Options : 클릭 하이재킹을 방지하기 위한 헤더로 deny로 설정하면 iframe 에서 렌더링을 하지 않습니다. sameorigin 은 origin이 일치하지 않을 경우 렌더링을 하지 않습니다.
  • X-Content-Type-Options: “nosniff” 만 설정할 수 있으며 잘못된 MIME 형식이 포함된 응답을 거부.aspx)합니다.
  • X-XSS-Protection: IE와 Chrome 브라우저가 지원하며 특정 유형의 XSS(cross site script)공격.aspx)을 차단해 줍니다.

nginx 설정

add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

apache 설정

Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
Header set X-XSS-Protection "1; mode=block"

13. 서버 운영, 퍼미션 최소화

워드프레스 파일을 외부 사용자가 마음대로 수정, 해킹하는 것을 막기위해서는 파일 권한을 최소화해야 합니다.
특히 꼭 필요한 경우가 아니면 777 사용하면 안됩니다.

아래는 워드프레스에서 권장하는 파일 권한입니다.

  • 모든 워드프레스 파일은 관리자 유저가 소유해야 한다.
  • 모든 워드프레스 파일은 644 권한 (관리자의 읽기/쓰기 권한, 소유하는 그룹의 읽기 권한, 모든 유저들의 읽기 권한)으로 설정해야 한다.
  • 모든 워드프레스 폴더는 755 권한 (관리자의 읽기/쓰기/실행 권한, 소유하는 그룹의 읽기/실행 권한, 모든 유저들의 읽기/실행 권한)으로 설정해야 한다.
  • 워드프레스 계정이 수정할 수 있어야 되는 파일들은 적어도 그 파일들을 소유하는 그룹 안에 워드프레스가 사용하는 계정이 포함되어 있어야 한다.
  • 워드프레스가 사용하는 계정이 관리자 계정과 다르다면 워드프레스가 수정해야 하는 파일들의 권한을 644에서 664로, 폴더들은 755에서 775로 바꿔야한다.
  • wp-config.php는 600 권한 (관리자의 읽기/쓰기 권한)으로 설정해야 한다

14. 서버 운영, 서버의 중요 파일 접근 차단

웹서버에서 URL Re-writing 을 처리하거나 주요 옵션을 성정한 \ .htaccess 나 워드프레서 설정값을 보광하고 있는 wp-config.php, git 그리고 subversion의 형상 관리 메타 정보(.git, .svn), 설정 파일(.inc, .ini, .cfg, .conf) 같은 매우 중요요 파일들이 있습니다.
해커가 이런 파일을 내려 받아 서버의 정보를 파악할 수 있으므로 이런 파일에 대한 접근을 차단 합니다.

nginx 설정

location ~ /\.(ht|git|svn) {
    deny all;
}
location ~ /wp-conf* {
    deny all;
}
location ~ /.*\.(inc|ini|conf|cfg)$ {
    deny all;
}

15. 워드프레스 알림판(Dash Board)에서 파일 수정 금지

워드프레스 관리자 계정으로 로그인 시 워드프레스 알린판(Dash board)에서 plugin, theme 등의 PHP 파일을 수정할 수 있습니다.
해커는 로그인에 성공한 후 이런 PHP 파일에 악성 코드를 심는다고 합니다.
따라서 로그인이 뚫려도 PHP 파일 수정을 막으려면 모든 사용자가 파일 수정 권한을 박탈해야 합니다.

즉 사용자의 ‘edit_themes’, ‘edit_plugins’, ‘edit_files’ 권한을 제거할 필요가 있습니다.

이를 위해서는 wp-config.php에 다음 코드를 추가합니다.

define(‘DISALLOW_FILE_EDIT’, true);

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

애플 아이폰 사용자의 영상으로 표현한 아름다운 지구 – 아이폰 광고 Earth – Shot on iPhone

0

1. 애플 아이폰의 사용 경험을 보여주는 Earth — Shot on iPhone

오늘 소개하는 광고는 iPhone 사용자가 담은 영상으로 광고를 제작한 아이폰의 Earth — Shot on iPhone라는 광고입니다.

애플은 애플 제품 사용자들이 만든 컨텐츠를 광고 소재로 즐겨 사용하고 있습니다. 특히 아이폰의 카메라 기능의 경우는 더욱 그렇습니다.

2015년엔 아이폰 6로 담은 사진을 전세계의 주요 포스트에 옥외광고 소재로 사용하면서 아이폰 카메라의 성능과 이로부터 끌어 낼 수 있는 감성적인 우수성에 대해서 이야기했었습니다.

이 캠페인에 대해서는 이전에 포스팅한 애플 아이폰6의 ‘아이폰 6로 담다 , Shot on iPhone 6’ 캠페인에서 정리했었습니다.

이번에 애플은 아이폰의 동영상 기능을 주제로 광고를 만들었습니다. 마찬가지로 아이폰로 담은 영상들이죠.
아이폰으로 담은 지구의 아름다운 풍광들을 심금을 울리는 시귀와 함께 담담히 이야기 하고 있습니다.

강렬한 호소력이 있는 광고는 아니지만 아이포으로 이런게 가능해? 라는 질문이 절로 나올 정도로 아름다운 픙광과 담담한 나레이션을 통해서 다시한번 보고 싶어지는 광고로 만들었습니다.

2. Earth — Shot on iPhone 나레이션


Earth — Shot on iPhone

The earth is a very small stage in a vast cosmic arena.
In our obscurity in all this vastness, there is no hint that help will come from elsewhere to save us from ourselves.
The Earth is the only world known so far to harbor life.
There is nowhere else, at least in the near future, to which our species could migrate.
Like it or not, for the moment the Earth is where we make our stand.

3. Earth — Shot on iPhone 영상

  • Apple iPhone: Earth
  • Client: Apple
  • Geo: United States
  • Advertising Agency: TBWA\Media Arts Lab, Los Angeles
  • Voice Over: Carl Sagan (American astronomer)
  • Music: Original Music by Nomad Editing

4. Earth — Shot on iPhone 스틸컷

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

애플 아이폰 광고 Earth_Shot on iPhone

[워드프레스 Tips] 구글 AMP(Accelerated Mobile Pages)에 애드센스 적용하기

모바일에서 컨텐츠를 빠르게 보여주는 것을 목표로 한 AMP(Accelerated Mobile Pages)는 로딩 속도를 빠르게 하기위해 기존 사이트에 적용되던 많은 화려한 디자인 요소, 다양한 기능적 요소를 무시하고 아주 심플하게 보여 줍니다. 그 덕분에 아주 빠르게 보여줄 수 있습니다.
그리고 구글은 AMP(Accelerated Mobile Pages)가 적용된 페이지를 우선적으로 검색결과에서 보여주겠다고 천명하고 있습니다. SEO를 중시한다면 당연히 AMP(Accelerated Mobile Pages)를 적용해야 합니다.

그렇기 때문에 사이트에 애드센스가 적용되어 있드라도 구글 AMP(Accelerated Mobile Pages)에서는 이를 무시하고 애드센스를 띄우지 않습니다. 애드센스를 유지하려는 입장에서는 아쉬운 점입니다.

그러면 방법이 없는 것이냐? 구글도 AMP(Accelerated Mobile Pages)에서 애드센스를 적용하는 방법을 안내할정도로 다양한 방법이 존재합니다.

여기에서는 강제로 AMP(Accelerated Mobile Pages)에서 애드센스를 적용하는 방안에 대해서 알아 보겠습니다.

1. 일반 애드센스 코드와 AMP용 애드센스 코드 차이

아래는 우리가 자주 보는 일반적인 애드센스 코드입니다.

<script async src=”//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></script>
<ins class=”adsbygoogle”
style=”display:inline-block;width:336px;height:280px”
data-ad-client=”ca-pub-95675557XXXXXXXX”
data-ad-slot=”170XXXXXXX”></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

이에 반해서 AMP용 애드센스 코드는 조금 단순한데요.
아래와 같은 형식으로 되어 있습니다.

<amp-ad width=350 height=100
type=”adsense”
data-ad-client=”ca-pub-95675557XXXXXXXX”
data-ad-slot=”170XXXXXXX”>
</amp-ad>

2. 글 처음과 마지막에 AMP에 애드센스 적용하기

쉽게 AMP에 애드센스를 적용하는 방법은 AMP의 single.php에 AMP용 애드센스 코드를 추가하는 것입니다.

워드프레스는 Featured 이미지가 나오고 컨넨츠가 나오고 이어 마지막으로 Footer가 나옵니다.
따라 Featured 이미지 다음과 Footer 앞 부분에 쉽게 AMP용 애드센스 코드를 넣을 수 있습니다.

일반적으로 애드센스 코드 입력은 아래와 같은 순서로 진행 합니다.

  1. 플러그인 편집기로 이동합니다.
  2. AMP 플러그인을 선택합니다.
  3. amp/templates/single.php 파일을 선택합니다.
  4. line을 찾아 그 라인 아래에 AMP에 적용 가능한 애드센스 코드를 넣습니다.
  5. do_action( ‘amp_post_template_footer’, $this ); 를 찾아 이 줄 앞에 애드센스 코드를 넣습니다.
  6. 저장합니다. 이로써 모두 끝났습니다.

▽ 플러그인 편집기 사용 모습

AMP에 애드센스 코드 적용하기_플러그인 편집기

3. 글 중간에 애드센스를 적용하기

이 또한 마찬가지로 amp/templates/single.php 파일에서
아래 코드를 찾습니다.

<?php echo $this->get( 'post_amp_content' );

이 코드를 아래 코드로 대체합니다.
아래 코드는 10번째 패러그래프 다음에 애드센스 광고를 넣겠다는 코드입니다.

<?php
$content = $this->get( 'post_amp_content' );
$contents = explode("</p>", $content);
$p_number = 1;
foreach($contents as $content){
echo $content;
if($p_number == '10'){
echo' <amp-ad class="amp-ad-1" type="adsense" width=336 height=280 data-ad-client=”ca-pub-2866779045830860” data-ad-slot=”7338714035”></amp-ad>'; }

echo '</p>'; $p_number++; 
} ?>

그럼 AMP 적용 페이지에서도 애드센스를 적용해 소정의 목표를 달성하시길 기원합니다.

그들만의 세계, 20대도 모르는 젊은이들의 은어들을 모아보다

0

20대도 모르는 10대 은어라는 글이 있길래 트랜드를 익힐 겸 올려봅니다.
언제나 다른 세대들의 은어는 이해하기 어렵죠.
그러나 이번에 공유되는 20대도 모르는 10대 은어는 많은 은우가 순수 우리말을 줄여서 사용하는 특징이 있어서 오히려 쉽게 이해가 되었습니다. 사용하기도 쉬운 듯..

이 중에서 그래도 알아듯는 용어는 많이 쓰는 팩트폭력 정도…

2017년 20대도 모르는 10대 은어

▽ 20대도 모르는 10대 은어

20대도 모르는 10대 은어

그런데 이런 은어는 어느날 갑자가 나타난게 아니고 예전부터 꾸준히 사용되던 용어들이 많습니다.
예를 들어 2009년에 청소년들의 은어를 소개한 기사를 보면 현재 소개되는 많은 은어들이 이미 그 당시에도 사용되고 있었습니다.

2009년 기사, 〔10대〕무지개매너ㆍ명존쌔때… 20대도 모르는 10대들의 은어

20대도 잘 모르는 청소년만 아는 ‘핫한 은어’ 24

아래는 인사이트에 게재된 20대도 잘 모르는 청소년만 아는 ‘핫한 은어’ 24의 내용을 일부 인용해 봅니다.

20대도 잘 모르는 청소년만 아는 ‘핫한 은어’ 24

  1. 무지개매너 : 무지+개매너의 합성어. 매너가 매우 없다는 뜻

  2. 복세편살 : ‘복잡한 세상 편하게 살자’의 줄임말

  3. 누물보 : ‘누구 물어보신 분?’의 줄임말. 관심 없는 내용을 들었을 때 비꼬면서 하는 말

  4. 버터페이스 : 영어 ‘but her face’의 발음. 모든 방면에서는 뛰어나지만 외모가 아쉬운 여성에게 쓰는 말

  5. 낫닝겐 : Not+인간을 뜻하는 일본어. 인간이 아니다라는 말로 외모가 아름다운 사람에게 쓴다

  6. 가싶남 : ‘갖고 싶을 만큼 매력 있는 남자’를 칭할 때 쓰는 말

  7. 댓망진창 : ‘댓글이 논리가 없고 엉망진창이다’라는 뜻. 온라인에서 주로 사용된다

  8. 번달번줌 : ‘번호 달라고 하면 번호 주나’라는 줄임말. 좋아하는 이성에게 대쉬할 때 쓴다

20대도 모르는 10대 은어 번달번줌

  1. 파덜어택 : ‘아버지에게 혼났다’라는 뜻

  2. 엄빠주의 : ‘엄마, 아빠를 조심하라’라는 말. 야한 내용이 있을 때 부모님에게 들키는 것을 주의하라는 뜻

  3. 남아공 : ‘남아서 공부나 해’의 줄임말

  4. 낄끼빠빠 : ‘낄 때 끼고 빠질 때 빠져라’라는 말.

  5. 아벌구 : ‘입만 열면 거짓말’이라는 뜻. 속된 말이 포함돼 있다

  6. 팩트폭행 : 객관적인 사실을 바탕으로 지적을 하거나 당했을 때 쓰는 말.

  7. 더럽 : 영어 ‘The love’의 언어유희적 표현. 호감을 표할 때 사용.

  8. 우유남 : ‘우월한 유전자를 가진 남자’의 줄임말

  9. 세젤예 : ‘세상에서 제일 예쁘다’의 줄임말

  10. 고답이 : 고구마를 먹은 것처럼 답답한 사람을 지칭할 때 사용

  11. 갈비 : ‘갈수록 비호감’의 줄임말. 예능 프로그램에서도 많이 쓰이고 있다

  12. 팬아저 : 팬이 아니어도 저장의 줄임말. 관심 없던 연예인의 멋진 사진을 봤을 때 쓴다

  13. 나일리지 : 나이가 많은 것을 앞세워 무조건 대우해주기를 바라는 사람의 행동을 일컫는 말. 10대들이 보통 기성세대에게 쓰는 표현

  14. ㅇㅈ : 인정. 동의할 때 쓰는 말

  15. ㅇㄱㄹㅇ : 이거 리얼(Real)의 초성. 진심, 사실 등을 강조할 때 사용한다

  16. ㄱㄷ : ‘기다려’의 초성

2015년, 20대가 많이 쓰는 용어 10개

아래 이미지는 2015년 자료인데 이 때가 더 어렵다.
도대체 하나도 모르겠다.

2015년 20대가 많이 쓰는 용어 10개

페이스북 친구를 일괄 정리해주는 크롬 애드인 프로그램 – Facebook Friend Remover PRO 2017

0

최근 페북에서 친구 신청이 들어오면 큰 고민없이 수락해 왔습니다. 그러다보니 진짜 아무 상관없는 사람이 친구 신청해오는 경우도 있고 이상한 비지니스용으로 신청한 경우도 있더군요. 그래서 언제 많지는 않지만 친구들을 정리해야겠다고 생각하고 있었는데 이런 니즈가 많이 있었는지 이를 가능케 해주는 앱이 있더군요.

바로 Facebook Friend Remover PRO 2016라는 프로그앰인데요. 이 프로그램은 인터넷 브라우저인 크롬에서 실핼할 수 있는 크롬 확장 프로그램(애드인 프로그램)입니다.

페이스북 친구 추가 시 이름만 보고 바로 추가하는 경우가 있습니다. 그런데 추가를 누르고 나서 살펴보면 아는 친구가 아니라 동명이인이고 음란 자료 공유하거나 이상한 자료 공유하는 경우가 많죠. 이경우 한꺼버에 모아서 정리할 필요가 있습니다.

그리고 인기가 많은 경우는 친구를 5000명으로 제한되어 있어 더 이상 친추가 불가할 시 친구들을 정리하는 데 쓸모가 있을 것 같네요.

1. 크롬을 실행시킵니다.

크롬 확장 프로그램이니깐 당연히 크롬에서 작업을 시작해야 겠지요.
만약 크롬이 설치되어 있지 않다면 먼저 크롬을 설치합니다.

크롬 설치하러 가기

2. 크롬 확장 프로그램 Facebook Friend Remover PRO 2016 설치

크롬 확장 프로그램 설치는 매우 쉽습니다.  아래 링크를 클릭합니다.

크롬 확장 프로그램 Facebook Friend Remover PRO 2017 설치 하기

링크를 클릭하면 아래와 같은 화면이 나오는데요.
여기 화면에서 오른쪽 상단에 있는 ADD TO CHROME라는 버튼을 누릅니다.

페이스북 친구 일괄 삭제 크롬 애드인 프로그램 - Facebook Friend Remover PRO 2016 설치하기

그러면 아래와 같이 확장 프로그램 Facebook Friend Remover PRO 20167을 추가하겠냐는 메세지 창이 뜹니다.

여기서 확장 프로그램 추가를 선택하면 끝입니다.
너무 쉽죠..

페이스북 친구 일괄 삭제 크롬 애드인 프로그램 - Facebook Friend Remover PRO 2016 설치하기 2단계 crop

3. 페이스북에서 친구 삭제하기

크롬에서 페이스북을 실행하거나 크롬이 실행된 상태에서 크롬 오른쪽 상단 코너에 있는 크롬 확장 프로그램들 중 Facebook Friend Remover PRO 2017 아이콘을 누르면 페이스북이 열리면서 친구 정리 모드로 전환됩니다.

▽ 롬 오른쪽 상단 코너에 있는 크롬 확장 프로그램 아이콘들

크롬 오른쪽 상단 코너에 있는 크롬 확장 프로그램들

아래는 제 페이스북에서 Facebook Friend Remover PRO 2017를 실행시킨 모습인데요.
친구 리스트가 나오고 이중에서 삭제하고싶은 친구를 선택하면 오른쪽 빈공간에 삭제할 친구 list가 나옵니다.
삭제할 친구 list가 정리되면 아래 Remove Friends를 누르면 됩니다.

이 또한 매우 단순하고 쉽습니다.

페이스북 친구 일괄 삭제 프로그램 - Facebook Friend Remover PRO 2016 실행 모습

서버 자동 실행 crontab(크론탭) 설정 방법 및 문제점 해결하기

서버를 안전하게 관리하려면 상당한 관심을 집중해야 하죠. 그렇다고 매번 수작업을 진행하기는 어렵기 때문에 사전에 일정 규칙과 명령어를 입력해 서버에서 자동 실행토록 만들기 위해서 crontab(크론탭)을 이용하는데요. 여기서는 크론탭 설정 방법에 대해서 살펴보도록 하겠습니다.

정말 서버를 운영하기 위해서 알아야 하는 게 너무 많습니다. 전문적인 서버 운영자도 아니기 때문에 어지간하면 그냥 넘어가고 싶은데 이 세계는 타협이라는 게 없습니다. 세상의 모든 일이 다 그렇죠

제가 가상서버호스팅(VPS)를 운영하고 있는 이상 이 쪽 동네에서 사용하는 최소한 알고 있어야하는 기초적인 지식이 아주 많습니다. 오늘 이야기하려는 크론탭(Crontab)도 마찬가지 입니다.

며칠 전 인터넷나야나가 랜섬웨어에 걸렸다는 소식에 자극받아 자동으로 dropbox로 백업하는 방법에 대해서 포스팅했는데요.

이 포스팅의 마지막 부분에 crontab(크론탭) 설정방법이 나옵니다. 이 crontab(크론탭)을 설정하는 방법은 대부분 딱 몇 줄로 소개하고 말았는데요. 솔직히 그냥 따라 하면 되는 간단한 것이므로.

그런데 이 crontab(크론탭)이 작동하지 않는 것입니다. 왜 작동하지 않을까 고민하고 이런 저런 자료를 찾아보면서 이 crontab(크론탭) 설정 방법을 조금 자세하게 정리해야 겠다는 생각이 들었습니다.

1. Cron(크론)과 Crontab(크론탭)에 대해서

유닉스/리눅스 계열에서 특정 시간에 특정 작업을 하는 데몬은 Cron(크론)이라고 하고, 이 Cron(크론)이 언제 무슨 일을 하도록 설정해 특정 파일에 저장하는 Crontab(크론탭)이라고 합니다.

Cron(크론)이라는 데몬이 원하는 시간에 원하는 명령(프로그램)을 수행하도록 만든 명령 리스트를 Crontab(크론탭)이라고 하고, 이러한 명령 리스트를 만드는 작업을 Crontab(크론탭) 작업이라고 할 수 있습니다.

이는 윈도우즈의 스케줄러와 비슷한 컨셉이라고 할 수 있죠.

서버가 24시간 가동되고 있으므로 적절한 시간에 적절한 명령어를 주어서 자동으로 실행시킬 수 있는 툴이죠.

예를 들어, 새벽 4시에 데이타베이스 백업 받아 줘라든지, 아침 7시에 서버의 사용량을 리포트하도록 한다든지 등등 적절하게 사용하면 아주 편리하게 성과를 낼 수 있는 방법입니다.

2. Crontab(크론탭) 설정하는 방법

crontab(크론탭)을 설정하는 방법은 두가지 방법이 있습니다.

첫째는 제가 앞서 소개한 포스팅에서 설명한 것 처럼 crontab -e 명령어를 사용해서 등록하는 것이구요.

둘째는 /etc/crontab에 직접 등록하는 방법입니다. 이경우는 vi, nano와 같은 편집기로 crontab 파일을 열어서 직접 편집을 합니다.

이 두가지 방법은 같은 듯 하면서도 조금은 다르다고 합니다.

2.1. crontab -e 명령어를 사용해 등록

그러면 crontab -e 명령어를 사용해서 등록하는 방법을 간단히 알아봅니다.

  • 먼저 터미날(shell)에서 접속합니다. 그래야 명령을 내릴 수 있으므로.
  • crontab -e 명령어 입력
  • 아마 처음으로 시스템에서 crontab -e 명령어를 사용하면 no crantab for root라는 메세지가 나오면서 편집기를 선택하하고 나옵니다.
  • 편집기는 ed, nano, vim basic, vim tiny 중에서 선택할 수 있습니다. 전는 easiest라고 쓰여진 nano편집기를 선택했습니다.
    이 편집기는 GUI 편집기 특징을 어느 정도 갖추고 있어서 접근성이 좋았습니다.

▽ nginx 우분투에서 크론탭 등록시 처음 사용 할 편집기 선택 화면

nginx 우분투에서 크론탭 등록시 처음 사용 할 편집기 선택
  • 편집기에서 명령어를 입력합니다.
    . 30 4 * dbbackup.sh 와 같은 것
  • 저장해서 빠져나옵니다.
    . nano 편집기에서 저장 명령어는 CTRL+O이죠
    . 빠져 나오는 명령은 CTRL+X
  • 편집기를 빠져나오면 ‘crontab: installing new crontab’이라는 메세지 뜹니다.
    그러면 성공한 것이죠
  • 이 명령이 등록되면 /var/spool/cron/crontabs/ 폴더에 root라는 파일이 생성됩니다.

▽ nginx 우분투에서 크론탭 등록 시 나노(nano) 편집 시용 모습

크론탭 등록 시 나노(nano) 편집 시용 모습

여기에서 crontab -e 명령어를 사용해 등록을 했다면 이와 관련된 다른 명령어가 있을 것입니다. crantab에는 crontab -e옵션 외 -l, -r옵션이 있는데요.

  • crontab -e : 명령을 등록, 편집 – 맨 처음에 사용 시 편집기를 선택할 수 있다.
  • crontab -d : 등록된 명령을 삭제
  • crontab -l : 현재 등록된 리스트 출력
  • crontab -l -u otheruser : otheruser 사용자가 등록한 crontab 리스트 출력
  • crontab -r : 현재 사용자가 등록한 crontab 전체 삭제

crontab -e로 크론 명령어를 등록했다면 다 끝난 후 정상적으로 등록되었는지 알기 위해 crontab -l 명령을 사용해 list-up을 해볼 수 있겠습니다.

2.2. 편집기 또는 FTP에서 직접 편집(추천하지 않는 방식)

두번째 방법은 nano, vi 편집기를 이용해 터미널(shell)에서 /etc/crontab 파일을 직접 수정하는 것입니다.

예를 들어, FTP 열어놓고 서브라임 편집기로 연결해 편집할 수 있습니다. 굳이 터미널(shell)까지 열 필요가 없을 것 같다는 판단이 들기 때문에, 다른 작업 조중 FTP에서에서 작업 가능하기 때문에 선호될 수 있습니다.

그렇지만 이런 방식으로 크론탭 설정 시 작동하지 않는다는 이야기가 많습니다. 저도 한번 작동하지 않는 경험을 하고서는 이 방법은 사용하지 않고 있습니다. 아마도 크론탭 편집 저장하면 /etc/ 폴더에 crontab 파일과 /var/spool/cron/crontabs/ 폴더에 있는 root라는 파일에 동시에 저장이 되어야 하는데 FTP 작업 시 이런 작업이 제대로 작용하지 않는 것 같습니다.

  • FTP로 연결하고
  • /etc/crontab을 편집 선택해 오픈합니다.
  • 서브라임 편집기에서 필요 내용을 입력합니다.
  • 저장, FTP에서 업데이트 선택

▽ 서브라임 텍스트 편집기에서 crontab(크론탭) 편집 모습

서브라임 텍스트 편집기에서 crontab(크론탭) 편집

그런데 이렇게 편집기로 /etc/crontab 파일을 직접 편집하는 경우 반드시 행위자가 root라는 것을 표기해 주어 한다고 합니다.

그래서 명령어는 30 4 * root sh dbbackup.sh 와 같이 유저가 root라는 것을 명시해 주고 있습니다.

3. 크론탭 설정 가이드

크론탭 겅정 시 고려해야 할 사항이나 팁을 먼저 살펴보시죠.

3.1. 한줄에 하나의 명령어만 적용합니다.

아래와 같이 적용 시간과 먕령어를 각기 다른 줄에 적용하면 당연히 제대로 작동하지 않습니다.

00 11,16 * * * 
/home/ramesh/bin/incremental-backupCode language: PHP (php)

당연히 이는 아래와 같은 방식으로 변경되어야 합니다.

00 11,16 * * * /home/ramesh/bin/incremental-backupCode language: PHP (php)

3.2. #를 사용해 주석을 달 수 있습니다.

나중에 크론탭을 관리하려면, 특이한 크롭 명령이나 조건에 대해서는 주석을 달아놓아야 나중에 수정이나 문제점 발견에 유리할 수 있고, 특히 후배들의 업무 파악에 큰 도움이 됩니다.

# 이것은 주석입니다.#
#------------------------#
#주석을 여기에 입력합니다.#
#------------------------#Code language: PHP (php)

3.3. 로그 남기기

크론 작업 결과를 로그로 남겨 나중에 분석하고 싶다면 아래와 같은 방법으로 로그를 남기라는 명령을 줍니다.

* * * * * doitnow.sh > /var/log/crontab.kog 2>%1Code language: PHP (php)

3.4. 크론탭 백업

여러가지 이유로 설정한 크론탭이 지워지거나 변형되는 경우를 대비해서 크론탭을 백업할 필요가 있습니다.

크론 기능을 활용해 주기적으로 크론탭을 백업하는 것도 좋은 방법입니다. 매일 0시에 백업하도록하는 크론탭 명령입니다.

00 00 * * * crontab -l > /home/crontab_bakCode language: PHP (php)

4. 크론탭 설정 시 유의 사항 몇가지

지금부터는 crontab(크론탭) 사용 시 주의점과 문제 해결 방법을 적어 봅니다.

4.1. 실행파일 sh는 복사하지 말것

crontab 설정 시 실행파일 sh 파일을 기존에 만들어 놓은 것을 FTP로부터 복사해 오는 경우가 있습니다 왜 그런지는 모르지만 이렇게 복사해오는 경우 제대로 작동하지 않습니다.

nano 편집기로 바로 만든 실행 파일은 정상적으로 작동하지만, 복사해온 실행 파일은 멀쩡히 해당 디렉토리에 존재하고 파일 권한도 충분하고 소유권도 root로 되어 있어 문제가 없어보이는데 Permission denied, not found같은 메세지를 내 보냅니다.

여러변 테스트를 통해서 내린 결론은 crontab 실행 파일은 서버 세팅 시 새로 만들어야겠다는 결론이었습니다.

조금 귀찮지만 sh 파일을 편지기를 사용해 다시 만들자구요.

4.2. 변경 후 반드시 cron 다시 실행시키기

crontab(크론탭) 명령을 등록 후 반드시 cron을 다시 실행해야 변경 내용에 제대로 반영됩니다.

service cron start  # 가동
또는 
service cron restart # 재가동
Code language: PHP (php)

4.3. 실행 파일은 일반 경로에 위치, path 설정 – not found

cron은 보안때문에 사용자 개인 설정 파일을 참조하지 않습니다. 즉 사용자의 쉘 초기화 파일(.bashrc, .bash_profile)을 읽지 않습니다.

그러므로 실행 프로그램(예를 들어 *.sh)들은 /usr/bin이나 /bin과 같은 일반 경로에 있어야 cron이 제대로 찾아서 실행시킬 수 있습니다. 이런 경로에 없다면 /bin/sh: 1: /bin/dbbackup.sh: not found 같은 메세지가 메일로 보내집니다.

물론 실행 파일을 root에 놓는다면 문제는 없지만 다른 경로에 놓는 경우는 반드시 참고해야 합니다.

From: root@root (Cron Daemon)
To: root@root
Subject: Cron <root@root> /bin/dbbackup.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <path=/bin:/usr/bin:/usr/local/bin:/home>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>

/bin/sh: 1: /bin/dbbackup.sh: not found
Code language: PHP (php)

4.4. 실행 파일 권한 문제 – Permission denied

가끔 실행 파일에 제대로 권한이 성정되지 않았다면 아래와 같은 메세지가 메일로 보내집니다.

/bin/sh: 1: dbit.sh: Permission denied
Code language: PHP (php)

그렇기 때문에 충분한 권한을 줍니다.

chmod +x dbbackup.sh
Code language: PHP (php)

4.5. crontab 작동 확인 – service cron status

그리고 crontab이 제대로 작동하는지 확인하기 위해서 service cron status 명령을 사용합니다.

service cron status # checks if cron is running
Code language: PHP (php)

그러면 아래와 같은 메세지를 보여줍니다.

# service cron status
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-01-17 03:17:19 KST; 17h ago
     Docs: man:cron(8)
 Main PID: 16188 (cron)
    Tasks: 3 (limit: 4915)
   Memory: 45.9M
      CPU: 5min 9.772s
   CGroup: /system.slice/cron.service
           ├─ 5389 /usr/sbin/CRON -f
           ├─ 5461 /usr/sbin/sendmail -i -FCronDaemon -B8BITMIME -oem root
           └─16188 /usr/sbin/cron -f

Jan 17 20:35:03 root sendmail[5293]: w0HBZ3GQ005293: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:
Jan 17 20:35:03 root CRON[5221]: pam_unix(cron:session): session closed for user root
Jan 17 20:35:03 root sendmail[5380]: My unqualified host name (happist) unknown; sleeping for retry
Jan 17 20:36:01 root CRON[5389]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan 17 20:36:01 root CRON[5390]: (root) CMD (dbit.sh)
Jan 17 20:36:03 root sendmail[5380]: unable to qualify my own domain name (happist) -- using short name
Jan 17 20:36:03 root sendmail[5380]: w0HBa3Jw005380: from=root, size=418, class=0, nrcpts=1, msgid=<20180117113
Code language: PHP (php)

5. 크론탭 설정 사례

서버 자동 실행 crontab(크론탭) 설정 방법 및 문제점 해결하기 3

1분마다 실행할 것

* * * * * doitnow.shCode language: PHP (php)

동일 프로세스를 10분마다 실행

*/10 * * * * doitnow.shCode language: PHP (php)

매시 15분마다 실행

15 * * * * doitnow.shCode language: PHP (php)

1시간마다 실행

0 * * * * doitnow.shCode language: PHP (php)

2시간마다 실행

0 */2 * * * doitnow.shCode language: PHP (php)

오전 11시와 오후 4시마다 실행

00 11,16 * * * /home/ramesh/bin/incremental-backupCode language: PHP (php)

근무시간(9시 ~ 오후 6) 내 매시간 실행

특정 작업이 근무 시간에만 실행되도록 설정하기 위해서는 시간을 09-18과 같은 표현을 사용합니다.

00 09-18 * * * /home/ramesh/bin/check-db-statusCode language: PHP (php)

주말을 제외하고 근무 시간에만 매시간 실행

특정 작업을 주중 근무일, 근무 시간에만 실행되도록 하기 위해서는 09-18과 같은 시간 표현과 1-5와 같은 요일 표현을 사용합니다.

00 09-18 * * 1-5 /home/ramesh/bin/check-db-statusCode language: PHP (php)

5시간 후 크론 실행 자동 중단할 것

크론 명령어 중에는 특정한 사정으로 크론 명령 작업이 계속되는 경우도 있을 것 입니다. 24시간 계속 명령이 지속되면 시스템 부하에도 무리가 가기 때문에 일정 시간 후 중단하라고 옵션을 걸 수 있을 것입니다.

이는 크론 본연의 명령 옵션은 아니지만 크론 활용 시 유용할 것 같아 소개합니다.

아래는 크론 실행 후 5시간(18000 secs) 후에는 멈추라는 옵션을 timeout이란 명령어를 사용해 적용합니다.

30 23 * * *   timeout 18000  /usr/bin/php /var/www/ul/prices_all.php >> /var/www/ul/log/prices_all.txtCode language: PHP (php)

특정 크론 명령을 강제 중단

사용할 일은 많지는 않겠지만 크론 명령이 실행되었는데 보안 등의 이유로 제대로 실행되지 않고 계속 실행 대기 상태에 놓이면 이런 명령이 쌓여서 엄청난 메모리를 사용하게 됩니다.

그런 상황이 오지 않토록 크론 명령과 시스템 상황을 제어해야겠지만 아무튼 특정 명령이 수행하지 못하고 대기 상태에 엤다면 아래와 같은 명령으로 이를 프로세스를 죽일 수 있습니다.

pkill -f 'wget -q -O - https://happist.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1'Code language: PHP (php)

5. 마무리

위에서 crontab(크론탭) 명령을 등록 방법 2가지를 소개했는데요.

많은 사람들이 /etc/crontab 파일을 직접 편집하는 경우 crontab(크론탭)이 제대로 작동하지 않는다고 합니다. 저도 마찬가지이구요.

그래서 가능하면 cron -e 명령어를 이용해 등록하라는 가이드가 있는 듯 합니다.

그리고 crontab(크론탭) 명령을 등록 후엔 cron을 실행하는 명령을 주는 게 좋다고 합니다.

service cron status # checks if cron is running
service cron start  # 단순리 크론을 다시 시작하라는 명령으로 기존 아직 끝나지 않는 명령 리스트를 그대로 가지고 시작한다.  
service cron restart  # 기존 크론 작업 리스트를 버리고 새로운 작업 리스트로 작업
service cron stop   # stops it
Code language: PHP (php)

참고

웹서버 자동 실행 crontab(크론탭) 적용 시 문제점과 해결 방안

우분투 서버 보안 자동 업데이트 및 업데이트 메일 통보 방법

리눅스 서버 root 사용 중지로 리눅스 서버 보안 강화하기

리눅스 서버 접속 IP 허용 & 사용자 접속 허용하기

워드프레스 보안 진단 WPScan 사용법 및 이메일로 결과 받아보기

워드프레스 멀웨어 경험에서 배운 워드프레스 보안 가이드

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

SBS 스페셜 은밀하게 과감하게 – 요즘 젊은 것들의 사표를 다시 꺼내 보며

0

1박 2일로 Team Leader Course라는 교육을 다녀왔다,
바쁘다는 핑게로 여러번 미루고 미뤄서 마지막 차수라서 어쩔수없이 참석하긴 했다. (사실 조금 도피 성격도 있었다.)

교육 시간에 봤던 SBS 스페셜 다큐멘터리 ‘은밀하게 과감하게 – 요즘 젊은 것들의 사표’가 기겅에 남아 집에서 다시 찾아 보았다, 그리고 공유하면서 몇자 적어 본다.

지난해 12월인가 한참 화제가 되었다고하는데 나는 까맞게 모르고 있었다,. 업무에 바빠서라고 스스로 위로해 본다. (그러면서 도대체 난 뭐하고 살았을까라는 자괴감이 엄습한다.)

교육 시간에 이 비디오를 보여준 이유는 후배들이 도대체 어떤 생각을 가지고 있는지 생각해 보자는 것이다. 그들은 돈보다는 미래에 대한 비젼등을 중요시하고 그들 스스로의 존재의식에 대한 고민이 크다는 생각이다. 물론 교귝하는 측에선 그들이 회사에서 성장하고 싶고 그 성장을 하려면 선배들이 잘 피드백을 주어야 한다는 이야기를 하고 싶어으리라.

그러나 나로서는 퇴사자들이 회사를 뛰쳐나간 이유를 들어보니 생각할게 많아진다.
거기에서 표현된 정도로 우리 부서의 모습이 개판은 아니라는 위안을 스스로 삼아보지만 큰 맥락에서는 비슷할 것이라는 사실은 인정해야 겠다.

여기도 생각하지 마라, 시킨대로 하라는 지시가 공공연하게 내려오는 곳이니..

나의 후배들은 어떤 생각을 가지고 다닐까? 문득 후배들의 직장 생활은 나보다 몇배 더 지옥일 수 있겠다는 생각이 든다. 이 후배애들은 어떻게 만나야할까?

평상심을 얼마나 유지하거 버틸 수 있을까?

꿈 쫓아가는 그리고 하고 싶은 것을 찾아가는 그들이 정말 멋지다.
왜는 조금 더 젊었을 적에 그런 고민을 치열하게 하지 못했는지?
이제는 퇴물이 되어서 꼰대가 되어 버렸다는 생각에 먹먹하다.

나는 왜 회사를 다닐까? 나의 위치하나 제대로 건사하지 못하는데..

원래 교육은 후배들을 어떻게 이끌어야하는지에 대한 내용이었지만 돌고 돌아 결국 나에로 왔다.
그리고 교육이 끝나 복귀하는 오늘(출근하려면 몇시간 남지 않았는데) 다시 사무실로 복귀하려니 급 우울해진다 사무실 후배들을 생각하면 가슴이 먹먹해진다.

잠시 교육장으로 도파했는데 다시 전쟁터로 돌아가야하는가?

내 마음의 평화는 언제 올 수 있을까?

SBS 스페셜.E467.160911.은밀하게 과감하게 – 요즘 젊은 것들의 사표.720p-NEXT from 홍진표 on Vimeo.

다큐멘터리(이게 다큐메터리인지는 모르겠다)를 다보고나서 여기서 표현된 기성세대가 너무 나쁘게 표현되어 있다. 기성 세대들이 전부 다 이롷다면 정말 문제다. 내가봐도 역겹다.

다큐멘타리에 나온 삽화 몇개를 인용해 본다.
촌철살인이란 단어가 잘 어울리는 삽화들..

SBS 스페셜 은밀하게 과감하게 - 요즘 젊은 것들의 사표 삽화001

SBS 스페셜 은밀하게 과감하게 - 요즘 젊은 것들의 사표 삽화001

SBS 스페셜 은밀하게 과감하게 - 요즘 젊은 것들의 사표 삽화001

SBS 스페셜 은밀하게 과감하게 - 요즘 젊은 것들의 사표 삽화001

SBS 스페셜 은밀하게 과감하게 - 요즘 젊은 것들의 사표 삽화001

그리고 어쩌면 전 직작인들의 마음을 대변하는 한 장면..

SBS 스페셜 은밀하게 과감하게 - 요즘 젊은 것들의 사표 나는 노예가 아닙니다001

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

1. 클라우드에 별도 자동 필요성 – 3중 4중의 백업이 필요

요 며칠새 인터넷나야나라고하는 나름 중견 웹호스팅업체가 랜섬웨어에 걸렸다고 대대적으로 방송을 비롯한 뉴스에서 나오면서 백업의 중요성에 대해서 새삼 강조되고 있습니다.

이번 랜섬웨어에 걸린 인터넷나야나는 백업서버조차 감염되었고, 따라 평소에 제대로 백업을 받아놓지 않은 사이트들은 복구에 어려움을 격고 있다는 이야기가 많습니다. 그런 상황이다보니 인터넷나야나에서는 해커들과 협상을 한다는 소식이 들려오고 있습니다.

백업을 해놓지 않은 사이트들은 미국 비영리 백업단체인 web.archive.org에서 조금 지났지만 백업된 자료를 찾을 수 있다고 소개드렸습니다만 해커들에게 비용을 지불하든 아니면 랜섬웨어를 무력화시키든지해서 빨리 안정화되기르 기원합니다.

랜섬웨어 감염으로 사이트 백업본이 필요하다면 – 비영리 백업 단체 web.archive.org를 활용해 보자

저는 주로 vultr의 snapshot 기능을 활용해 백업을 해왔는데요. 문제가 발생하면 가장 최근 snapshot으로 되돌리면되기때문에 정말 편리했습니다. 서버라는게 옵션을 변동시켰다가 원복을 시켜도 또같이 작동하지는 않드라구요. 워낙 변수가 많다보니 이전과 같은 옵션으로 변경해도 서버가 제대로 작동하지 않는 경우도 있어 이때는 무식하게 되돌리는게 너무 편하긴합니다.

그러나 이 snapshot도 서버내에 있기 때문에 이번 인터넷나야처럼 서버가 망가지면 snapshot도 무용지물이되어버리므로 온전한 DB와 Contents를 외부 제3의 장소에서 보관할 필요가 있습니다.

▽ Vultr의 스냅샷 기능,
편리하긴 하지만 이 또한 서버에 있어서 백업 파일을 외부로 보내어 저장할 필요가 있습니다.

VPS vultr_Anapshots 스냅샷 활용

2. 어디다 백업해야 할까?

백업을 보강하기 위한 몇가지 요구 조건을 정리해 보겠습니다.

첫째, 서버가 아닌 외부에 백업을 받을 수 있어야 합니다. 이번 인터넷나야나 사태가 외주 저장의 중요성을 확실히 알려주었네요.

둘째, 매뉴얼이 아닌 자동으로 매일 백업을 받을 수 있어야 합니다. 현업에 바쁘다보면 깜박 백압을 잊고 지나치는 경우가 많죠. 그러다 위기는 갑자기 닥치죠.

셋째, 무료로 사용하거나 비용이 거의들지 않았으면 좋겠습니다. 너무 공짜를 좋아하면 안되지만 비용을 들이지 않고도 할 수 있는 방법이 있다면 당현히 해야죠.

넷째, 가능하면 속도에 영향을 주지 않토록 플러그인이 아니었으면 좋겠습니다.

이러한 네가지 조건에 부합하는 방안이 있는지 찾아보니 생각외로 방법이 많치 않네요. 서버의 크론 기능을 활용하고, 외부 클라우드로 업로드 기능을 활용하는 방안이 어렵지만 위 4기지 조건을 완벽하게 부합하는 방안입니다.

물론 유료 플러그인을 사용하면 드롭박스박스를 비롯한 구글, MS One drive등등 클라우드에 자동으로 백업해주는 서비스가 많이 있습니다.

▽ 드롭박스로 백업해주는 플러그인들,
큰 고민없이 이들 중 하나를 사용하는 것도 좋은 방안입니다.
다만 입맛에 딱맞는 플러그인은 드물다고 할 수 있습니다.

드롭박스 백업 플러그인 Dropbox backup plug in

이런 플러그인외 속도와 비용등을 고려해 선택한 방안은

서버의 크론 기능 + Dropbox-uploader 기능 활용해 매일 Dropbox로 백업해 보내는 방법

그러면 이를 하려면 어떻게 해야할까요?

3. 드롭박스 업로더 설치 및 세팅

우선 서버에서 Dropbox로 백업한 파일을 올리는 방법을 찾았습니다.

이 방법은 nova님의 포고플러그 시스템 및 데이터 파일 백업과 Dropbox 이용 라는 글을 참조해 재구성하였습니다.

이를 이용하려면 물론 Dropbox에 가입되어 있어야 합니다. 예전에 Dropbox가 공격적인 마케팅을 할 시에는 용량 확보가 용했는데요. 요즘 Dropbox 실적 압박을 받다보니 용량 확보는 비지니스로 업그레이드하는 쪽으로 많이 유도하는 것 같습니다. 저는 예전에 갤럭시 스마트폰을 사면 거기서 제공하는 50GB를 사용하곤 했는데요, 한때는 사용 기간을 2년으로 하더니 언제부터인가는 1년 사용후 업그레이를 하라고 하더군요. 크게 업드레이드 사용 필요성을 느끼지 못해서 하지는 않아 현재 8.5GB 용량이 있습니다.

Dropbox를 가입하면 기본으로 2GB는 줍니다, 여기에 추천등을 통해서 조금씩 용량 확보를 할 수 있고 업그레이드르하면 Dropbox Plus의 경우 1TB 용량을 월 9.99$ / 1년 99.00$에 상요할 수 있습니다.

3.1. Dropbox-Uploader 설치

우분투서버에서 드롭박스로 파일을 올리려면 관련 프로그램이 필요한데요 이를 가능케 서버에서 드롭박스로 파일을 올려주는 프로그램인 Dropbox-Uploader를 설치해야 합니다.

서버에 git가 설치되어 있다면 아래 명령어로 Dropbox-Uploader를 설치합니다. 원하는 폴더를 정해서 설치하는데 /usr/bin 폴더에 설치하겠습니다.

cd /usr/bin
git clone https://github.com/andreafabrizi/Dropbox-Uploader/

3.2. Dropbox-Uploader 설정

이 다음에는 스크립트에 실행 권한을 부여하고 실행합니다. 처음 실행하면 여러분의 드롭박스 계정에 Dropbox-Uploader를 연결하는 작업을 실행하게 됩니다.

cd /usr/bin/Dropbox-Uploader
chmod +x dropbox_uploader.sh
./dropbox_uploader.sh

이렇게 드롭박스에 접속하면, 처음이라면 아래와 같은 메세지가 나옵니다.

 This is the first time you run this script, please follow the instructions:

 1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps
 2) Click on "Create App", then select "Dropbox API app"
 3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
 4) Enter the "App Name" that you prefer (e.g. MyUploader27108302810158)

 Now, click on the "Create App" button.

 When your new App is successfully created, please click on the Generate button
 under the 'Generated access token' section, then copy and paste the new access token here:

 # Access token:

▽ 터미널에 나타난 메세지

Dropbox access

그러면 터미널 화면에서 시키는대로 Access Token을 받을 수 있는 https://www.dropbox.com/developers/apps로 이동합니다.

첫번째 단계로 Create App을 선택
둘번째 단계는 이어 나오는 화면에서 API로 ‘Dropbox API app’을 선택하고 Type은 Full Drop Box를 선택합니다. 전 무슨 일이 있을 지 몰라서 전 폴더 접근 가능한 Full Dropbox를 선택했습니다. 이어 적당한 App 이름을 넣습니다. 전 MyUploader_happist라고 이름을 지었습니다.

▽ 드롭박스 업로더 연결 세팅 2번째 단계

드롭박스 업로더 연결 Dropbox-Uploader Crop

세번째 단계는 새로운 App인 MyUploader_happist를 세팅하는 단계인데요. 여기에서 Generated access token 버튼을 눌러서 토큰을 생성합니다. 그러면 아주 긴 토큰이 형성되는데요. 이 토튼을 복사해 터미널에 붙입니다.

그러면 이제부터는 디랍박스 업로더를 이용할 준비가 다 된 것입니다.

▽ 드롭박스 업로더 연결 세팅 세번째 단계

드롭박스 업로더 연결 세팅 Dropbox-Uploader Setting

▽ 접근에 필요한 토큰 입력 후 터미널 모습

Dropbox access Token 입력 접근에 필요한 토큰 입력

3. 드롭박스 업로더할 파일 생성 및 업로드 스크립트

참조했던 우성군님이나 nova님은 상당히 복잡한 스크립트를 사용하셨던던데 실제로 적용하면 서버에서 설정이 다른지 제대로 working하지 않아 최대한 직접 경로를 사용해서 만들었습니다.

우성군님의 방법은Mysql 백업을 드롭박스에 하기 두번째 방법 를 참고하세요. 스크립트가 매우 세련되고 효율적입니다. 아쉽게도 저희 서버에는 맞지가 않네요. 아쉽..

아래는 제가 나름대로 재정리하ㅐ 만든 스크립트입니다.

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

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

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

# Dropbox-Uploader로 원하는 파일을 dropbox로 올린다. 구분을 위해 파일 이름에 시간을 표시 했다.
# 시간 표시중에 Year를 표시하는 %y는 자꾸 에러가나서 적용하지 않았다.
/usr/bin/Dropbox-Uploader/dropbox_uploader.sh upload wpbackup.tgz /myDB/"wpbackup$(date +%m%d%H%M).tgz"

위 스크립트로 실행하니 제대로 작동하네요. 거의 3시간 삽질한 끝에 제대로 작동하는 스크립트입니다. 고수들이 보시기엔 우습겠지만 초심자에게는 생각보다 쉽지는 않네요.

▽ 드롭박스에 파일이 올라간 모습

드롭박스에 파일이 올라간 모습 Uploaded file in dropbox folder

5. crontab(크론탭)에서 정기적으로 백업토록 명령 설정

crontab -e   # 이 명령어로 crontab(크론탭) 명령을 입력, 편집 합니다.

30 4 * * * dbbackup.sh  # 크론 맨 마자막 줄에  매일 새벽 4시30분에 작업 수행토록 명령

crontab(크론탭)을 사용해 정기적으로 명령을 수행토록하는 방법에 대해서는 서버에서 자동 실행을 가능케 해주는 crontab(크론탭) 설정 방법 에서 자세하게 다루었습니다. 저와같이 헤매는 초보분들이 참조해 도움을 드리고자 정리해 봤습니다.