mysqlデータベースの自動バックアップ方法
忘れないようにメモしとく。
シェルスクリプトの名前をmysqlbackup.shとでもしておきます。
シェルスクリプトの保存先は/home/[ユーザ名]/mysql_backup/とでもしておきます。
バックアップファイルの名前をmysql_backup[日付].tar.gzとでもしておきます。
バックアップファイルの保存先は/home/[ユーザ名]/mysql_backup/とでもしておきます。
まずシェルスクリプトを作成。
mysqlbackup.shの内容↓↓↓↓
1 2 3 4 5 6 | #!/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 を実行し、以下を記述します。
1 | 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のバックアップデータが取られることになります。
コメントを残す