FTPを介してMySQLデータベースをバックアップする

Vultrは、Performance Series VPSのオプションとして自動バックアップを提供します。この記事では、この機能に加えて、サーバーで毎日データベースのバックアップを自動的に作成し、FTP経由でバックアップサーバーまたはファイルホストに送信するオプションも提供します。

概観
  • 自動バックアップは毎日実行されます。バックアップを実行する時間は設定可能です。
  • 多くのファイルホストはFTP経由のファイル転送を提供しているため、データベースを個人用アカウントに自動的に送信できます。
  • バックアップが完了するとメールを送信します。

説明文

まず、/backupsディレクトリを作成して変更します。

 mkdir /backups
 cd /backups

次に、nanoまたはお気に入りのエディタを使用して、スクリプトファイルを作成します。

nano backupdb.sh

次に、このスクリプトをコピーして貼り付け、設定に応じて上部の変数を編集します。

#!/bin/bash

############### Infos - Edit them accordingly  ########################

DATE=`date +%Y-%m-%d_%H%M`
LOCAL_BACKUP_DIR="/backups"
DB_NAME="database_name"
DB_USER="root"
DB_PASSWORD="root_password"

FTP_SERVER="111.111.111.111"
FTP_USERNAME="ftp-user"
FTP_PASSWORD="ftp-pass"
FTP_UPLOAD_DIR="/upload"

LOG_FILE=/backups/backup-DATE.log

############### Local Backup  ########################

mysqldump -u $DB_USER  -p$DB_PASSWORD $DB_NAME | gzip  > $LOCAL_BACKUP_DIR/$DATE-$DB_NAME.sql.gz

############### UPLOAD to FTP Server  ################

ftp -nv $FTP_SERVER << EndFTP
user "$FTP_USERNAME" "$FTP_PASSWORD"
binary
cd $FTP_UPLOAD_DIR
lcd $LOCAL_BACKUP_DIR
put "$DATE-$DB_NAME.sql.gz"
bye
EndFTP

############### Check and save log, also send an email  ################

if test $? = 0
then
    echo "Database Successfully Uploaded to the Ftp Server!"
    echo -e "Database Successfully created and uploaded to the FTP Server!" | mail -s "Backup from $DATE" [email protected]

else
    echo "Error in database Upload to Ftp Server" > $LOG_FILE
fi

スクリプトの編集が完了してファイルを保存したら、次のコマンドを適用してファイルを実行可能にします。

 chmod +x backupdb.sh

ターミナルに入力することでテストできます。

 /backups/backupdb.sh

...実行が終了しls -aたら、入力してデータベースがバックアップされているかどうかを確認します。また、FTPサーバーに送信されたかどうかも確認してください。

これまでのところすべてがうまくいった場合、Crontabを使用して毎日実行することができます。

Crontabセクション

次のコマンドでcrontabを編集できます。

 crontab -e

これにより、各行のスケジュールを新しい行に入力できるテキストエディタが表示されます。

各セクションはスペースで区切られ、最後のセクションには1つ以上のスペースがあります。これは、cronジョブのレイアウト方法です。

分(0〜59)、時間(0〜23、0 =午前0時)、日(1〜31)、月(1〜12)、平日(0〜6、0 =日曜日)、コマンド

したがって、エディターで次の行を入力するか貼り付けます。

 30 02 * * * /backups/backupdb.sh

上記の例は、毎月毎日午前2時30分に実行さ/backups/backupdb.shれます。もちろん、時間は自由に変更できます。

次に、ファイルを保存して閉じます。スケジュールされた時刻に、バックアップが実行されます。



Leave a Comment

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、