mysqlデータベースをバックアップします。 私の方法=)

タスクはこれでした-多くの場合、データベースのバックアップ+ハード上のスペースを節約します。
diffを使用したダンプの増分バックアップの作成に関する記事を1つ読んだ後、これはなんらかのナンセンスであることがわかりました。
思考が点滅-なぜgitでベースダンプを埋めないのですか? 結局、必要なコミットにロールバックし、実験のためにリポジトリをクローンして、このシステムのすべての楽しみを楽しむことができるでしょう。 =)
すぐに決定-私はすべてをFreeBSDで行いました。 したがって、Linuxではファイルをファイルする必要があります。
さあ、始めましょう! 最初にgitを配置します(システムにない場合)!
ポートを更新した後、 cd / usr / ports / devel / git && make install cleanと書き込みます
Gitが配信されました。 データベースのバックアップがあるフォルダーの場所を選択し、フォルダーmkdir / backup / bases / testを作成します
次に、 cd / backup / bases / tes tを実行し、git initコマンドでリポジトリを初期化します
データベースをダンプし、リポジトリにファイルを追加し、バックアップ日付でコミットを作成するスクリプトを作成しました

#!/usr/local/bin/bash
backupurl=”/backup/bases/test”
for i in `/usr/local/bin/mysql -e “use test;show tables;” -uUSER -pPASS|tr -d “|”|grep -v “Tables_in_”`;do /usr/local/bin/mysqldump –quick –skip-extended-insert –dump-date=false –compact=true -uUSER -pPASS test $i >$backupurl/$i.sql;done
/usr/local/bin/mysqldump -uUSER -pPASS –no-data test > $backupurl/structure.sql #
cd $backupurl
/usr/local/bin/git add . #
sleep 2
/usr/local/bin/git commit -am “backup `date +%d.%m.%y.%H.%M`” #


このスクリプトをファイルに封印し、実行可能にして、冠を飾ります。
次に、いくつかのバックアップを行った後、データベースのバックアップがあるフォルダーに移動してgitログを書き込みます 。バックアップの履歴が表示されます。
最後に:



Source: https://habr.com/ru/post/J70458/


All Articles