サーバーの自動バックアップ用のスクリプト

サーバーを管理する私たちの人々は、すべての保存、バックアップを行うことがいかに重要かを知っています...まあ、問題や障害が発生した場合、バックアップは私たちの親友であり、サービスの復元に役立ちます🙂

ここで少し前(数か月...かなり数か月)、構成はサーバーやログなどに自動的にバックアップされませんでした。 そして、それはちょうどそのようなことはできませんでした、私は使用することを検討しました Bacula、しかし神! 私の意見では、これも非常に複雑でした。単にバックアップを作成して保存する(または別のサーバーに送信する、または電子メールで送信する)だけの場合は、Baculaを使用する必要はありません。スクリプトすべての問題が解決されたので、自分でスクリプトを作成することにしました。そうすることで、より満足しました😀

そして、まさにこのスクリプトは私があなたと共有するものです、私はそれが何をするかを非常に簡単に説明します:

  1. すべてが保存されるフォルダーを作成します。このフォルダーは、圧縮されるフォルダーです。
  2. このフォルダには、年、月、現在の名前が付けられます。たとえば、今日、そのフォルダの名前は次のようになります。 2012-04-26
  3. コピア /等/ (とそのすべてのコンテンツ)そのフォルダに。
  4. ログをコピーする(/ var / log /)前述のフォルダに。
  5. 所有しているMySQLデータベースをエクスポートします。
  6. パスワードで圧縮(PASSWORD)そのフォルダ、それを圧縮します RAR.
  7. ファイルを生成します(データ.info)上記のすべてのログが完了しました(ファイルコピーログと.rarへの圧縮)、サイズを入れることに加えて(MB単位)の.RARファイルには、保存することにしたすべてのものが含まれています。
  8. ファイルを配置してから圧縮したフォルダーを削除します。この圧縮フォルダーが既にある場合は、解凍する必要もありません。
  9. 管理者またはサーバーに関連する人々に、バックアップが正しく行われたことを通知する電子メールを送信します。すべてのログを含むファイルがその電子メールに添付されて送信されます(データ.情報.rar)

明らかに、このスクリプトは実行されません。ハハ、データベースのルートパスワードがわからないため、スクリプトを開いてMySQLパスワードを変更する必要があります。また、メールをに変更する必要があります。私が入力したメールは単なる例であるため、彼らは通知の送信を望んでいます。

あなたがそれを圧縮したい場合 .tar.gz ではなく .rarを (スクリプトの構成方法)そこにコメント行を残しました。コメントを外してコメントするだけです。 .rarを。 同様に、SSH(SCPを使用)で圧縮ファイルを別のサーバーまたはホスティングにコピーする場合は、最後に行を残します(コメント付き)。その中に、サーバーまたはホスティング(ユーザーとドメイン)にアクセスデータを配置する必要があります。またはサーバーURL)、ただしこれが機能するには、 パスワードなしでSSHを構成する、アクセスが許可されていない場合、スクリプトはサーバーにアクセスできません。

ああ、メール送信を機能させたい場合は、 postfix サーバーにインストールされ、ほとんどすべてがインストールされます postfix しかしねえ、説明は有効です🙂

しかし...彼らは変更して使用することができます スクリプトで 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: 私は自分がプログラマーではないことを明確にします。 スクリプトをもっと最適化できることは知っていますが、ちょっと…私はプログラマーではありません🙂


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ファウストッド

    片付け、

    よろしく、

    どのように非常に興味深いですが、2012つの注意点があります。 そのスクリプトが今日実行された場合、それは04-25-XNUMXと呼ばれ、今日は監視の日です。

    感謝
    ファウストッド

    1.    KZKG ^我愛羅

      HAHAHA本当のハハハ、私は将来生きるのが好きだということです... LOL !!!

  2.   リナックスマン

    非常に興味深いです。実際、さまざまなことを行う方法を示しています。私は独自に開発しており、機能を追加するためにあなたからいくつかのコードを取得します。

    私の場合、cpの代わりにrsyncを使用してファイルをコピーします。

    乾杯!!

    1.    KZKG ^我愛羅

      はい、rsyncを使用することは良い考えですが、私はcpを使用することを好みました。なぜなら、ファイルを空のフォルダーにコピーし、他の情報と同期しないからです。だから、cpを使用しただけです。

      bashのヒントをもっと知りたい場合は、サイトのタグを確認してください...ロックファイルの作成方法、スクリプトを実行できるユーザーの制御方法などがあります😀
      https://blog.desdelinux.net/tag/bash/

      コメントありがとうございます🙂

  3.   エドウィン

    パスワードなしのsshを備えたサーバー?

    1.    KZKG ^我愛羅

      パスワードなしではありませんが、特定のIPからのSSH接続を自信を持って受け入れます。これは公開鍵と秘密鍵を使用して非常に安全な方法で行われます。私が残したリンクですべてを詳細に説明します🙂

      1.    エドウィン

        キーではい、しばらくの間私は怖かったxD

        1.    KZKG ^我愛羅

          笑!!! また、私が自殺したことも大爆笑だ!!!

          1.    勇気

            いいえ、でも私たちの中には本当に文句を言うのが好きです

  4.   アンドレスネクス

    このスクリプトは素晴らしいです。
    彼らがスクリプトを投稿し続けることを願っています。 Linuxに切り替えている私たちが、時間の生産性を高め、学習時間を短縮できるように支援してください。

    1.    KZKG ^我愛羅

      😀コメントありがとうございます。
      すぐにbashに関する別のヒントを公開します😉

      よろしく

      1.    ほくろフレーム

        クレイジーありがとう! いつか私はこの美しいLinuxコミュニティの仲間が私に与えてくれた恩恵を返します!

  5.   イワン

    複数のログファイルの内容をコピーして、コピーするファイルの内容が常に測定されていることを考慮して、、、、、 5分ごとに自動的にXNUMXつのファイルに配置するにはどうすればよいですか。

    1.    エルウィルマー

      私の推奨事項(提案)は、貢献です... 5分ごとに、次のいずれかを使用してXNUMXつまたは複数のファイルを検証する条件を作成します。

      *最後のアクセス= atime
      *最終変更= mtime
      *最後の情報変更= ctime

      したがって、ファイルに変更がある場合は、それらをグループ化および/または読み取り(cat)して、> logsfilesに送信します。

      これは明確な例であり、テスト、試行、検証、および変更の問題です。

  6.   KZKG ^我愛羅

    CICSプラグインのテスト..。

  7.   サンティアゴ

    非常に良い情報、私にとって非常に有用な真実、私は大規模なプロジェクトを実行しています(それは研究からのものであるため、明らかに架空のものです)、そしてこの情報は私にとって非常に良かったです。
    誠にありがとうございます。

  8.   少しブルネット

    次のようなシェルスクリプトをどのように作成しますか?
    バックアップするディレクトリの名前を指定するようにユーザーに依頼します
    ディレクトリをバックアップする場所を尋ねます
    バックアップ日を含める

    1.    KZKG ^我愛羅

      こんにちは、

      「読み取り」を使用すると、ユーザーにそのすべてのデータを要求し、それを変数に割り当てることができます。それだけです。

      ご質問がございましたら、私のメールアドレスまでご連絡ください: kzkggaara[at]desdelinux[ドット]ネット

      よろしく

      PS:バックアップ日はすでにスクリプトに含まれています。

  9.   アナギャビー

    ubuntuからフォルダをバックアップし、ftpで別のサーバーに転送するためのより簡単なスクリプトを提示してください。

  10.   ジョン

    こんにちは、Linuxオペレーティングシステム全体のバックアップを作成して別のPCに送信するにはどうすればよいですか。 ご清聴ありがとうございました!!

  11.   フランコ・ヴァルデッタロ

    スクリプトをメールで送っていただけませんか fvaldettaro@gmail.com 好意。

  12.   ザビエル

    スクリプトを私のメールに送っていただけませんか。ありがとうございました。

  13.   ウィルマーボリバル

    おはようございます。ペーストにつながるいくつかの公開されたコード/スクリプトをチェックしていたので、「ペースト」サブドメインに問題があると思います。desdelinux そしてそれらはすべて私をブログにリダイレクトします。desdelinux.

  14.   ネットのリス

    はい、貼り付けのため、スクリプトにアクセスできません。 あなたをリダイレクトします、あなたはそれをどこかにアップロードできますか?

    1.    アレックスストリーミング

      スクリプトを取得するための問題は解決されましたか?

      ありがとう。

      1.    Luigys toro

        修正され、コードにアクセスできるようになりました

      2.    ネットのリス

        さあ、ありがとう!

  15.   パコ

    こんにちは、スクリプトをダウンロードできるようにしたいと思います。再度アップロードすることは可能ですが、現在は利用できません。

  16.   ラミロ

    こんにちは、
    とても良い貢献です! ダウンロードするスクリプトをお願いできますか? どうもありがとうございました🙂