ホームページ  >  記事  >  運用・保守  >  MySQL データベースをバックアップするための簡単な bash スクリプトの紹介

MySQL データベースをバックアップするための簡単な bash スクリプトの紹介

不言
不言オリジナル
2019-03-23 13:35:083343ブラウズ

MySQL データベースのバックアップを実装するにはどうすればよいですか? MySQL データベースのバックアップには bash スクリプトを使用できます。この記事では、MySQL データベースをバックアップし、そのバックアップをローカル システムにアーカイブして保存するための簡単な bash スクリプトを紹介します。この bash スクリプトは、ディスクから古いバックアップを削除してスペースを解放します。バックアップをローカル ディスクに保存する日数を指定することもできます。

MySQL データベースをバックアップするための簡単な bash スクリプトの紹介

MySQL バックアップ スクリプトの作成

ここで、次の内容をスクリプト ファイル (/backup/mysql Backup など) にコピーします。 sh ) を作成し、Linux システムに保存します。その後、環境に応じてスクリプトの「以下の値を更新」セクションの一部の構成値を変更します

#!/bin/bash
 
################################################################
##
##   MySQL Database Backup Script 
##   Written By: Rahul Kumar
##   URL: https://tecadmin.net/bash-script-mysql-database-backup/
##   Last Update: Jan 05, 2019
##
################################################################
 
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%d%b%Y"`
 
################################################################
################## Update below values  ########################
 
DB_BACKUP_PATH='/backup/dbbackup'
MYSQL_HOST='localhost'
MYSQL_PORT='3306'
MYSQL_USER='root'
MYSQL_PASSWORD='mysecret'
DATABASE_NAME='mydb'
BACKUP_RETAIN_DAYS=30   ## Number of days to keep local backup copy
 
#################################################################
 
mkdir -p ${DB_BACKUP_PATH}/${TODAY}
echo "Backup started for database - ${DATABASE_NAME}"
 
 
mysqldump -h ${MYSQL_HOST} \
   -P ${MYSQL_PORT} \
   -u ${MYSQL_USER} \
   -p${MYSQL_PASSWORD} \
   ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz
 
if [ $? -eq 0 ]; then
  echo "Database backup successfully completed"
else
  echo "Error found during backup"
fi
 
 
##### Remove backups older than {BACKUP_RETAIN_DAYS} days  #####
 
DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`
 
if [ ! -z ${DB_BACKUP_PATH} ]; then
      cd ${DB_BACKUP_PATH}
      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
            rm -rf ${DBDELDATE}
      fi
fi
 
### End of script ####

スクリプトを作成またはダウンロードした後、正しく実行されるように実行権限を設定してください。

$ chmod + x /backup/mysql-backup.sh

Crontab でスクリプトをスケジュールする

次に、crontab でスクリプトを毎日実行し、定期的にバックアップを完了するようにスケジュールします。 crontab -e コマンドを使用して、システム上の crontab を編集します。午前 2 時にバックアップを有効にするには、次の設定を追加します。

crontab でのスクリプトのスケジュール

次に、crontab でスクリプトを毎日実行し、定期的にバックアップを完了するようにスケジュールします。 crontab -e コマンドを使用して、システム上の crontab を編集します。午前 2 時にバックアップを有効にするには、次の設定を追加します。

0 2 * * * root /backup/mysql-backup.sh

crontab ファイルを保存します。 cron が有効になっている場合、スクリプトは自動的にバックアップを実行しますが、毎週または毎月チェックして、バックアップされていることを確認してください。

この記事はここで終了しました。その他のエキサイティングなコンテンツについては、PHP 中国語 Web サイトの Linux ビデオ チュートリアル 列に注目してください。

以上がMySQL データベースをバックアップするための簡単な bash スクリプトの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。