Mysql daatabaseを備えたUbuntuサーバーがあります。夜中に別のサーバー(たとえばovh)でこのデータベースの自動バックアップを設定したいと思います。
それに最適なツールは何なのかわかりません。誰かアドバイスがあれば...
前もって感謝します。
Mysql daatabaseを備えたUbuntuサーバーがあります。夜中に別のサーバー(たとえばovh)でこのデータベースの自動バックアップを設定したいと思います。
それに最適なツールは何なのかわかりません。誰かアドバイスがあれば...
前もって感謝します。
回答:
このタスクを自動化する最も簡単な方法は、MySQLダンプとcronjobの組み合わせです。このトピックに関する多くの情報は、このサイトおよび他のインターネットサイトで見つけることができますが、完了のためです。
mysqldump.shファイルを作成する
これには、cronジョブでスケジュールするmysqlダンプコマンドが含まれます(ユーザー、パスワード、およびパスを環境に合わせて置き換えます)。
mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_`date +%F`.sql.gz
編集:スクリプトでバックアップをリモートの場所に保存する場合は、対応するデバイスまたは共有をマウントし、スクリプトでマウントパスを使用します。
スクリプトをテストする
スクリプトに実行権限があることを確認します。
chmod +x /path/to/mysqldump.sh
スクリプトを実行します。
sh /path/to/mysqldump.sh
そして、それが正しく機能していることをテストします(バックアップファイルは指定されたバックアップフォルダーに作成されます)。
新しいcronジョブを作成してスケジュールする
コマンドプロンプトで次を入力します
sudo crontab -e
そして、ファイルの最後に次の行を追加します。
30 23 * * * /path/to/mysqldump.sh
これにより、毎日23:30にスクリプトが実行されます。
この単純なスクリプトを拡張する
この単純なバックアップ方法を改善するためにできることは、文字通りたくさんあります。
ここで終わらせて実験しないでください!:-)
バックアップツールまたはクラウドベースのバックアップサービスを使用する
上記の方法は最も簡単な方法の1つであり、特定のニーズに合わせて拡張することができますが、他の選択肢があることに言及する価値があります。
上記のソリューションやサービスとは一切関係がなく、参考のためにリストしているだけなので、ご自身の責任で使用してください。
便利なリンク/リファレンス:
Cron-> https://en.wikipedia.org/wiki/Cron
MySQLダンプ-> https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
sudo crontab -e
、スクリプトを実行可能にすることを忘れないでください:chmod +x /path/to/mysqldump.sh
date +%F
-ユーザーのロケールに適した年+月+日付の組み合わせを自動的に選択します(たとえば、を取得しますYYYY-MM-DD
)。