MySQLバックアップ · 1 min read · Jan 26, 2026

AutoMySQLBackupを使用したMySQLバックアップの作成

AutoMySQLBackupを使用したMySQLバックアップの作成

バージョン 1.0
著者: Falko Timme

AutoMySQLBackupは、mysqldumpを使用してMySQLデータベースの毎日、毎週、毎月のバックアップを取得できるシェルスクリプトです。複数のデータベースをバックアップし、バックアップを圧縮し、リモートデータベースをバックアップし、ログをメールで送信することができます。

これがあなたにとって機能することを保証するものではありません!

1 予備ノート

AutoMySQLBackupは、mysqldumpを使用してデータベースのSQLダンプを作成します。mysqldumpはバックアップが作成されている間、データベースをロックすることに注意してください。バックアップの作成には、データベースのサイズに応じて、1秒未満から数分かかることがあります。大規模なデータベースを持つ高トラフィックのウェブサイトを運営している場合、AutoMySQLBackupはあなたには向いていません!

このスクリプトは、ハードドライブのクラッシュが発生した場合には役立ちません。最良の保護のために、バックアップを定期的にオフラインでコピーする必要があります。

2 AutoMySQLBackupの使用

次のようにしてAutoMySQLBackupをダウンロードできます:

cd /usr/local/bin
wget http://mesh.dl.sourceforge.net/sourceforge/automysqlbackup/automysqlbackup.sh.2.5

次に、automysqlbackup.sh.2.5を開いて、設定オプションを確認してください。すべてよく説明されています。少なくとも次の設定を構成する必要があります:

vi automysqlbackup.sh.2.5

| [...] USERNAME=root [...] PASSWORD=yourrootsqlpassword [...] DBHOST=localhost [...] # 日次/週次バックアップ用のDBNAMESのリスト 例: "DB1 DB2 DB3" DBNAMES="db_ispconfig web1 web2 web3" [...] # バックアップディレクトリの場所 例 /backups BACKUPDIR="/backups" [...] # メールを送信するメールアドレスは? ([email protected]) MAILADDR="[email protected]" [...] |

DBNAMESには、スペースで区切られた1つまたは複数のデータベースを含めることができます。

BACKUPDIRが存在しない場合、automysqlbackup.sh.2.5は自動的に作成します。

正しいパスワードとデータベースホストを入力してください。ローカルデータベースをバックアップしたい場合はlocalhostを使用し、リモートデータベースをバックアップしたい場合はリモートホスト名を使用してください(リモートデータベースサーバーはリモート接続を許可するように設定されている必要があります!)。

次に、スクリプトを実行可能にする必要があります:

chmod 755 automysqlbackup.sh.2.5

これで、/usr/local/binディレクトリにいる場合は次のようにautomysqlbackup.sh.2.5を実行できます:

./automysqlbackup.sh.2.5 

… または、他のディレクトリから次のように実行できます:

automysqlbackup.sh.2.5

これはサンプル出力です:

AutoMySQLBackup VER 2.5
http://sourceforge.net/projects/automysqlbackup/

バックアップ開始時間 Fri Oct 17 16:00:51 CEST 2008

データベースの毎日バックアップ ( db_ispconfig )
先週のバックアップをローテーション中…

/backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql のバックアップ情報
圧縮された 非圧縮 比率 非圧縮名
37231 382465 90.3% /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql

———————————————————————-
バックアップ終了 Fri Oct 17 16:00:52 CEST 2008

バックアップストレージに使用された総ディスクスペース..
サイズ - 場所
68K /backups

AutoMySQLBackupが価値あるものであると感じた場合は、寄付をお願いします
http://sourceforge.net/project/project_donations.php?group_id=101066

server1:~#

/backupsディレクトリを確認してください…

ls -l /backups

… そして、daily、weekly、monthlyという3つのサブディレクトリが見つかるはずです:

server1:~# ls -l /backups/
total 12
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 daily
drwxr-xr-x 2 root root 4096 2008-10-17 16:00 monthly
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 weekly
server1:~#

これらのディレクトリには、バックアップすることにしたデータベースの名前が付けられたサブディレクトリが含まれます。たとえば、db_ispconfigデータベースを選択した場合、/backups/daily/db_ispconfigにデータベースダンプが含まれます:

cd /backups/daily/db_ispconfig
ls -l

server1:/backups/daily/db_ispconfig# ls -l
total 40
-rw-r–r– 1 root root 37231 2008-10-17 16:00 db_ispconfig_2008-10-17_16h00m.Friday.sql.gz
server1:/backups/daily/db_ispconfig#

.gz拡張子は圧縮されていることを意味します。データベースを復元するには、最初にダンプを解凍する必要があります:

gunzip db_ispconfig_2008-10-17_16h00m.Friday.sql.gz

… (これにより、解凍されたダンプがdb_ispconfig_2008-10-17_16h00m.Friday.sqlという名前になります) そして、https://www.howtoforge.com/faq/6_4_en.htmlに記載されているように復元します。

もちろん、automysqlbackup.sh.2.5を手動で常に実行したくはありません。したがって、次のようにして毎日のcronジョブを作成できます:

cd /etc/cron.daily/
ln -s /usr/local/bin/automysqlbackup.sh.2.5 automysqlbackup

3 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。