서버의 자동 백업을위한 스크립트

서버를 관리하는 사람들은 모든 것을 저장하고 백업하는 것이 얼마나 중요한지 알고 있습니다. 문제 나 실패가 발생하는 경우 백업이 가장 좋은 친구가 될 것이며 서비스를 복원하는 데 도움이 될 것입니다 🙂

얼마 전 (몇 달 ... 꽤 몇 달) 여기에서는 구성이 서버, 로그 또는 이와 유사한 것에 자동으로 백업되지 않았습니다. 그리고 그것은 하하와 같을 수 없었습니다. 바쿨라,하지만 신 !! 내가 원했던 것은 내 생각으로는 너무나 매우 복잡했다. 원하는 것이 단순히 백업을 만들고 저장하는 것 (또는 다른 서버로 보내거나 이메일로 전송)한다면 간단한 방법으로 Bacula를 사용할 필요가 없다. 스크립트 모든 문제가 해결 되었기 때문에 나만의 스크립트를 만들기로 결정했고 더 만족했습니다

정확히이 스크립트는 제가 여러분과 공유하는 스크립트입니다.이 스크립트가하는 일을 매우 간략하게 설명합니다.

  1. 모든 것이 저장 될 폴더를 생성하면이 폴더가 압축 될 폴더입니다.
  2. 이 폴더에는 연도, 월, 현재 이름이 있습니다. 예를 들어 오늘 해당 폴더는 다음과 같습니다. 2012-04-26
  3. 코 피아 /기타/ (및 모든 내용)를 해당 폴더에 추가합니다.
  4. 로그 복사 (/ var / 로그 /)를 앞서 언급 한 폴더에 추가합니다.
  5. 우리가 가지고있는 MySQL 데이터베이스를 내 보냅니다.
  6. 암호로 압축 (PASSWORD) 해당 폴더, 압축 RAR.
  7. 파일 생성 (데이터.정보) 위의 모든 로그가 완료 (.rar에 파일 복사 로그 및 압축), 크기 (MB 단위)의 .RAR 파일에는 저장하기로 결정한 모든 내용이 포함되어 있습니다.
  8. 이 압축 폴더가 이미 있으면 압축을 풀 필요가 없기 때문에 파일을 넣은 폴더를 삭제 한 다음 압축하십시오.
  9. 관리자 또는 서버와 관련된 사람에게 이메일을 보내 백업이 올바르게 완료되었음을 알리면 모든 로그가 포함 된 파일이 해당 이메일에 첨부되어 전송됩니다 (data.info.rar)

분명히이 스크립트는 실행되지 않으며 이제 하하, 데이터베이스 LOL !!!의 루트 암호를 모르기 때문에 그것을 열고 MySQL 암호를 변경해야하며 이메일을 다음으로 변경하십시오. 내가 입력 한 이메일은 예시 일 뿐이므로 그들은 알림이 전송되기를 원합니다.

압축하려는 경우 .tar.gz 그리고 안 .RAR (스크립트 구성 방법) 주석 처리 된 줄을 남겼습니다. 주석 처리를 해제하고 .RAR. 마찬가지로 SSH (SCP 사용)로 압축 된 파일을 다른 서버 나 호스팅에 복사하려면 마지막에 줄을 남겼습니다 (주석 처리됨), 그 안에 액세스 데이터를 서버 또는 호스팅 (사용자 및 도메인)에 넣어야합니다. 또는 서버 URL)이 작동하려면 비밀번호없이 SSH 구성, 액세스가 허용되지 않으면 스크립트가 서버에 액세스 할 수 없기 때문입니다.

아, 이메일 전송 기능이 작동하려면 접미사 서버에 설치, 거의 모든 설치 접미사 하지만 해명은 유효합니다 🙂

... 그들은 수정하고 사용할 수 있지만 스크립트 Python 내가 얼마 전에 떠난,하지만 좀 더 효과가있을 것 같아요 ^-^ U

그리고 글쎄, 스크립트를 떠나는 것만 남아 있습니다.

VPS 백업 스크립트

실행 권한을 부여해야합니다 (chmod + x vps_backup-script.sh)

매일 오전 10시에 실행되도록하려면 다음을 터미널에 넣습니다.

echo "* 10    * * *   root    cd /root && ./vps_backup-script.sh" >> /etc/crontab && /etc/init.d/cron restart

스크립트가 다음과 같이 저장되었다고 가정합니다. /root/vps_backup-script.sh

글쎄, 나는 이것이 너무 복잡하게 보이게하고 싶지 않습니다. 하하가 아닙니다. 실제로 이것은 매우 단순한 것입니다. 처음으로 볼 때 조금 무섭습니다 🙂

의심, 질문 또는 제안이 있으면 알려주세요. 제가 돕고 싶다는 거 알 잖아요 😀

안부

PD : 나는 내가 아니고 내가 프로그래머 하하라고 생각하지 않는다는 것을 분명히하고, LOL도 닫지 않는다! 스크립트가 훨씬 더 최적화 될 수 있다는 것을 알고 있지만, 저기… 저는 프로그래머가 아닙니다 🙂


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   파우스 토드

    버리고,

    감사합니다,

    당신은 어떻게 매우 흥미 롭습니까? 이 스크립트를 오늘 실행하면 2012-04-25라고하며 오늘이 시계의 날입니다.

    감사합니다
    파우스 토드

    1.    KZKG ^ 가아라

      HAHAHA true hahaha, 그것은 내가 미래에 사는 것입니다 ... LOL !!!

  2.   리눅스 맨

    매우 흥미 롭습니다. 사실 다양한 작업을 수행하는 방법을 보여줍니다. 저는 직접 개발하고 있으며 기능을 추가하기 위해 여러분의 코드 일부를 가져갈 것입니다.

    제 경우에는 cp 대신 rsync를 사용하여 파일을 복사합니다.

    건배 !!

    1.    KZKG ^ 가아라

      예, rsync를 사용하는 것은 좋은 생각이지만 파일을 빈 폴더에 복사하고 다른 정보와 동기화하지 않을 것이기 때문에 cp를 사용하는 것을 선호했습니다. haha ​​그래서 방금 cp를 사용했습니다.

      bash에 대한 더 많은 팁을 알고 싶다면 사이트의 태그를 확인하십시오 ... 잠금 파일을 만드는 방법, 스크립트를 실행할 수있는 사용자 제어 등을 찾을 수 있습니다 😀
      https://blog.desdelinux.net/tag/bash/

      의견을 보내 주셔서 감사합니다 🙂

  3.   에드윈

    암호가없는 ssh가있는 서버?

    1.    KZKG ^ 가아라

      암호 없이는 아니지만 특정 IP에서 자신있게 SSH 연결을 허용합니다. 이것은 공개 및 개인 키를 사용하여 매우 안전한 방식으로 수행됩니다. 내가 남긴 링크에서 모든 것을 자세히 설명합니다 🙂

      1.    에드윈

        키로 yes, 잠시 무서워 xD

        1.    KZKG ^ 가아라

          LOL !!! 내가 자살하는 것도 LOL !!!

          1.    용기

            아니,하지만 내면은 정말 불평하고 싶어

  4.   Andresnetx

    대본이 훌륭합니다.
    나는 그들이 스크립트를 계속 게시하기를 바랍니다. Linux로 전환하는 사람들을 도와 시간을 절약하고 학습 시간을 단축 할 수 있습니다.

    1.    KZKG ^ 가아라

      😀 의견을 보내 주셔서 감사합니다.
      곧 bash에 대한 또 다른 팁을 게시하겠습니다 😉

      안부

      1.    두더지 프레임

        감사합니다! 언젠가는이 아름다운 리눅스 커뮤니티의 동료들이 나에게주는 호의를 보답 할 것입니다!

  5.   이반

    복사 할 파일의 내용이 지속적으로 측정된다는 점을 고려하여 여러 로그 파일의 내용을 복사하여 5 분마다 자동으로 단일 파일에 배치하는 방법 ,,,

    1.    Elwuilmer

      내 추천 (제안)은 기여가 될 것입니다 ... 5 분마다 다음 중 하나를 사용하여 파일을 확인하는 조건을 만듭니다.

      * 마지막 액세스 = 한 번
      * 마지막 수정 = mtime
      * 마지막 정보 변경 = ctime

      따라서 파일에 변경 사항이 있으면 그룹화 및 / 또는 파일 (cat)을 읽고> logsfiles로 보냅니다.

      이것은 테스트, 시도, 확인 및 수정의 문제인 명확한 예입니다.

  6.   KZKG ^ 가아라

    Caché 플러그인 테스트 ...

  7.   산티아고

    아주 좋은 정보, 나에게 매우 유용한 진실, 나는 대규모 프로젝트를 수행하고 있으며 (연구에서 나온 것이기 때문에 분명히 허구입니다)이 정보는 나에게 매우 좋았습니다.
    대단히 고마워!

  8.   모레 니타

    다음과 같은 쉘 스크립트를 어떻게 만들 수 있습니까?
    사용자에게 백업 할 디렉터리 이름을 지정하도록 요청합니다.
    디렉토리를 백업 할 위치를 묻습니다.
    백업 날짜 포함

    1.    KZKG ^ 가아라

      안녕하세요

      "읽기"로 사용자에게 모든 데이터를 요청한 다음 변수에 할당하면됩니다.

      질문이 있으면 내 이메일로 편지를 보내주세요: kzkggaara[at]desdelinux[도트]넷

      안부

      추신 : 백업 날짜는 이미 스크립트에 포함되어 있습니다.

  9.   ana_gaby

    우분투에서 폴더를 백업하고 ftp를 통해 다른 서버로 전송하는 더 간단한 스크립트를 제시하십시오.

  10.   요한 복음

    안녕하세요, 전체 Linux 운영 체제를 백업하고 다른 PC로 보내려면 어떻게해야합니까? 관심을 가져 주셔서 감사합니다.

  11.   프랑코 발 데타로

    제 이메일로 스크립트를 보내 주 시겠어요 fvaldettaro@gmail.com 호의.

  12.   자비에르

    제 이메일로 스크립트를 보내 주시겠습니까? 감사합니다.

  13.   Wuilmer Bolivar

    좋은 아침입니다, 붙여넣기로 연결되는 게시된 코드/스크립트를 확인 중이었기 때문에 "붙여넣기" 하위 도메인에 문제가 있는 것 같습니다.desdelinux 그리고 그들은 모두 나를 블로그로 리디렉션합니다.desdelinux.

  14.   그물에 다람쥐

    예, 붙여 넣기 때문에 스크립트에 액세스 할 수 없습니다. 다른 곳에 업로드 할 수 있습니까?

    1.    Alex스트리밍

      스크립트를 얻는 문제가 해결 되었습니까?

      그라시아.

      1.    Luigys 토로

        수정되었습니다. 이제 코드에 액세스 할 수 있습니다.

      2.    그물에 다람쥐

        네, 감사합니다!

  15.   파코

    안녕하세요, 스크립트를 다운로드하고 싶습니다. 다시 업로드 할 수 있습니다. 지금은 사용할 수 없습니다.

  16.   라미

    안녕하세요
    아주 좋은 공헌! 다운로드 할 스크립트를 요청할 수 있습니까? 대단히 감사합니다 🙂