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のバックアップデータが取られることになります。

中小企業内でITを担当する職員として働いてますYOHEIです(社内SE?)。ほぼ一人職場なので悠々自適に過ごしてますが、たまに仕事の相談相手がいないのが寂しいっちゃ寂しい。趣味はあれこれ考えて結局何も買わないウィンドウショッピングと、買いもしない中古車の情報サイトを巡ること。

コメントを残す

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