ホームページ  >  記事  >  データベース  >  MySQLデータベースのシェルスクリプト自動バックアップの詳細

MySQLデータベースのシェルスクリプト自動バックアップの詳細

黄舟
黄舟オリジナル
2017-03-20 14:10:421368ブラウズ

この記事では主にMySQLデータベースのシェルスクリプト自動バックアップに関する関連情報を紹介します Webサイトやアプリケーションのバックグラウンドでデータベースをバックアップする機能ボタンがありますが、手動で実行する必要があります。毎日の自動バックアップの安全な方法が必要です。それが必要な友人は、MySQL データベースの

シェルスクリプト自動バックアップを参照してください

データベースを頻繁にバックアップすることは良い習慣ですが、データベースが破損したり、データ損失は非常に高い 低いですが、このようなことが起こったら、後悔しても仕方がありません。通常、Webサイトやアプリケーションのバックグラウンドにデータベースをバックアップする機能ボタンがありますが、手動で実行する必要があります。安全で自動化された毎日のバックアップ方法が必要です。次のシェル スクリプトを使用すると、Crontab を設定して MySQL データベースを毎日バックアップできます。

#!/bin/bash
# 数据库认证
 user=""
 password=""
 host=""
 db_name=""
# 其它
 backup_path="/path/to/your/home/_backup/mysql"
 date=$(date +"%d-%b-%Y")
# 设置导出文件的缺省权限
 umask 177
# Dump数据库到SQL文件
 mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql

上記のスクリプトを通じて、SQL バックアップ ファイルを毎日エクスポートできます。ファイルの名前は、その日の日付に基づいて生成されます。時間が経つと、そのようなファイルが大量に生成されるため、古いバックアップ ファイルを定期的に削除する必要があります。このタスクは、上記のスクリプトの後に追加できます。

# 删除30天之前的就备份文件
 find $backup_path/* -mtime +30 -exec rm {} \;

上記のスクリプトを使用しているときに、Crontab が定期的にスクリプトのエクスポートを実行したときはエラーは発生しませんでしたが、コンソールにログインして手動で実行すると、バックアップは成功しました。脚本。その後、Crontab 実行スクリプトにシステム環境情報が不足しており、mysqldump を見つけることができないことが判明しました。修正方法は、mysqldump のフルパスを使用することでした。エラーメッセージが報告されない理由は、mysqldump が エラーメッセージ を stderr に出力するためです。コマンドの最後に「2>&1」を追加するだけで、次のような情報リダイレクト コマンドのエラー メッセージが表示されます:

mysqldump -ujoe -ppassword > /tmp/somefile 2>&1

以上がMySQLデータベースのシェルスクリプト自動バックアップの詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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