mysqlデータベースの自動バックアップ方法

忘れないようにメモしとく。

シェルスクリプトの名前をmysqlbackup.shとでもしておきます。
シェルスクリプトの保存先は/home/[ユーザ名]/mysql_backup/とでもしておきます。
バックアップファイルの名前をmysql_backup[日付].tar.gzとでもしておきます。
バックアップファイルの保存先は/home/[ユーザ名]/mysql_backup/とでもしておきます。

まずシェルスクリプトを作成。

mysqlbackup.shの内容↓↓↓↓

#!/bin/sh

# 年月日取得(ファイル名に使用します)
YMD=`date ‘+%Y%m%d’`

tar -zcvf /home/[ユーザ名]/mysql_backup/mysql_backup${YMD}.tar.gz /var/lib/mysql/

終わり↑↑↑↑

つまりmysqlのフォルダを丸々コピーして固めてます。

保存先はしっかりと指定しましょう。/home/[ユーザ名]/mysql_backup/の部分を省いた場合実行したユーザのホームディレクトリに保存されてしまいます。

これでシェルスクリプトは完成です。

次にmysqlbackup.shを自動実行させる設定。これにはcrontabコマンドを使います。

crontab -e を実行し、以下を記述します。

0 4 * * * /home/[ユーザ名]/mysql_backup/mysqlbackup.sh

これの意味は
毎日4時00分に/home/[ユーザ名]/mysql_backup/mysqlbackup.sh を実行せよというもの。

初めの「0」は『分』、2つめの「4」は『時』、3つめに数字を設定すると『日』、4つめに数字を設定すると『月』、5つめに数字を設定すると『曜日(月=1,火=2,…日=7又は0)』

また、デフォルトではcronがコマンドを実行した際、ユーザ宛に実行結果のメールを送信します。このメール送信を止めたい場合はcrontab -eで編集画面を出し、先頭に MAILTO=”” と記述するとメールが送信されなくなります。

これで毎日4時にmysqlのバックアップデータが取られることになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください