MySQL データベースのスケジュールされたバックアップ スクリプトの共有

MySQL データベースのスケジュールされたバックアップ スクリプトの共有

BackUpMysql.sh スクリプト

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
エクスポートPATH

#データベース IP
DBHOST=''
#データベースユーザー名 DBUSER=''
#データベースパスワード DBPASSWD=''
#バックアップが必要なデータベース。複数のデータベースはスペースで区切られます DBNAME=''

#バックアップ時間 backtime=`date +%Y-%m-%d_%H%M%S`
#バックアップパス(現在のディレクトリ)
BACKPATH=$(dirname $(readlink -f $0))
$BACKPATHをエコーする
#ログバックアップパス LOGPATH="${BACKPATH}/log"
#データバックアップパス DBPATH="${BACKPATH}/db"

#バックアップディレクトリを作成する [ ! -d "${LOGPATH}" ] && mkdir -p "${LOGPATH}"
[ ! -d "${DBPATH}" ] && mkdir -p "${DBPATH}"

#ログ レコード ヘッダー エコー "バックアップ時間は ${backtime}、バックアップ データベース テーブル ${DBNAME} が開始されます" >> ${LOGPATH}/mysqlback.log

#$DBNAMEのテーブルの正式なバックアップデータベース。
ソース=`mysqldump -u ${DBUSER} -h${DBHOST} -p${DBPASSWD} ${table}> ${LOGPATH}/${backtime}.sql` 2>> ${LOGPATH}/mysqlback.log;

#バックアップは次の操作に成功します $? 前のコマンドの結果を取得します。0は成功を表します if [ "$?" == 0 ]; then
cd ${LOGPATH}
#ハードディスク容量を節約するには、データベースを圧縮します tar -czf ${DBPATH}/${table}${backtime}.tar.gz ./${backtime}.sql > /dev/null
#元のファイルを削除し、圧縮ファイルのみを残します rm -f ${LOGPATH}/${backtime}.sql
#7 日前のバックアップを削除します。つまり、7 日間のバックアップのみを保存します。 find $DBPATH -name "*.tar.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
echo "データベース テーブル ${DBNAME} が正常にバックアップされました!!" >> ${LOGPATH}/mysqlback.log
それ以外
#バックアップが失敗した場合は、次の操作を実行します echo "データベース テーブル ${DBNAME} のバックアップに失敗しました!!" >> ${LOGPATH}/mysqlback.log
フィ
終わり

crontabを使用してBackUpMysql.shスクリプトを定期的に実行し、毎晩12:00に実行されるように設定します。

crontab -eを実行する

入力

59 23 * * * /data/mysqlbak/BackUpMysql.sh

著者: Low-key Little Panda リンク: http://ilovey.live/archives/Mysqlbackupshell

上記はMysqlデータベースのスケジュールバックアップスクリプトの詳細な内容です。Mysqlスケジュールバックアップスクリプトの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL データベースのデータを定期的にバックアップし、指定した期間保持するシェル スクリプト
  • MySQL スケジュールされたデータベース バックアップ操作の例
  • Linux は MySQL データベースのスケジュールされたバックアップを実装し、30 日以上前のバックアップ ファイルを削除します。
  • MySQLデータベースのスケジュールバックアップを実装する方法
  • Linux で MySQL データベースのスケジュールされたバックアップを実装する簡単な方法
  • MySQL データベースを自動的にバックアップする最良の方法 (Windows サーバー)
  • MySQL データベースのバックアップをスケジュールするいくつかの方法 (包括的)

<<:  Vueはツリーテーブルを実装する

>>:  Linux で静的ルーティングを追加するための 2 つの実装方法の分析

推薦する

MySQL で union all を使用してユニオンソートを取得する方法

プロジェクトでは、何らかの不可逆的な理由により、テーブルに保存されたデータがページの表示要件を満たす...

IE8はマルチ互換モードを使用してWebページを正常に表示します

IE8には複数の互換モードがあります。 IE プラットフォームの設計者である Chris Wilso...

CSS を使用して等アスペクト比のアダプティブ コンテナを実装する方法

最近、モバイル ページを開発しているときに、ページの幅が 100% の場合、高さは幅の半分になり、携...

CSS でフロートとマージンを混合するサンプルコード

最近の勉強で、GitHub でレイアウトの練習をいくつか見つけたのですが、レイアウトにまったく慣れて...

MySQLがlocalhost経由でデータベースに接続できない問題に対する完璧な解決策

問題:あるサーバー上の PHP プログラムは、localhost アドレス経由でデータベースに接続で...

docker コマンド例外「権限が拒否されました」の解決方法

Linuxシステムでは、dockerを新しくインストールし、次のようなコマンドを入力します。dock...

JavaScript スロットリングとアンチシェイクに関する簡単な説明

目次スロットルと手ぶれ防止コンセプト:違いスロットリングの実装スロットル機能手ぶれ補正の実装手ぶれ防...

Vue でよく使われる高階関数と包括的な例

1. 配列のよく使われる高階関数配列があり、その配列に対して次の操作を実行したいとします。 100 ...

動的および静的分離を実現する nginx のサンプルコード

1. nginxの動的と静的の分離の簡単な設定web1は静的サーバー、web2は動的サーバー、nod...

HTML での位置の使用に関する簡単な紹介

昨日 HTML を少し学んだばかりで、JD.com の検索バーを作るのが待ちきれませんでした。 作っ...

動的なセカンダリメニューを実現するためのCSS

シンプルなセカンダリメニューを動的に実装するマウスを第 1 レベルのラベル上に置くと、マウスが小さな...

DockerでPython環境をパッケージ化するプロセスの詳細な説明

docker パッケージング Python 環境の手順は次のとおりです。 1 pip listの下に...

nginx+php実行リクエストの動作原理の詳細な説明

PHPの仕組みまず、よく耳にするcgi、php-cgi、fastcgi、php-fpmの関係を理解し...

純粋なCSS3で実装されたネオンライト効果

達成される効果は次のとおりです。 マウスがボタン内に移動すると、ネオンライトのような効果が生成され、...

Vue のドロップダウン ボックスのセカンダリ リンク効果を実装するためのサンプル コード

1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...