簡単にMySQLの自動バックアップをサーバーに導入したい時に AutoMySQLBackupは非常に便利です。その導入方法になります。
◆インストール方法
1 2 3 4 5 |
$ mkdir /opt/automysqlbackup $ cd /opt/automysqlbackup $ wget --trust-server-names https://sourceforge.net/projects/automysqlbackup/files/latest/download $ tar -zxvf automysqlbackup-v3.0_rc6.tar.gz $ ./install.sh |
※ wgetの[–trust-server-names]はリダイレクトしたファイル名(automysqlbackup-v3.0_rc6.tar.gz)で ダウンロードするためのオプションです。
./install.shを開始し、デフォルト値でEnterを押していくと、「Setup Complete」となりインストール完了です。簡単ですね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ ./install.sh ### Checking archive files for existence, readability and integrity. automysqlbackup ... exists and is readable ... md5sum okay :) automysqlbackup.conf ... exists and is readable ... md5sum okay :) README ... exists and is readable ... md5sum okay :) LICENSE ... exists and is readable ... md5sum okay :) Select the global configuration directory [/etc/automysqlbackup]: Select directory for the executable [/usr/local/bin]: ### Creating global configuration directory /etc/automysqlbackup: success ### Copying files. if you are running automysqlbackup under the same user as you run this install script, you should be able to access it by running 'automysqlbackup' from the command line. if not, you have to check if 'echo $PATH' has /usr/local/bin in it Setup Complete! |
◆設定
バックアップ対象とするDB、保存数等は細かく automysqlbackup.confで設定できます。以下は最低限の設定です。
1 2 3 4 5 6 7 8 |
$ vi /etc/automysqlbackup/automysqlbackup.conf CONFIG_mysql_dump_username='YourUser' CONFIG_mysql_dump_password='YourPassword' CONFIG_mysql_dump_host='localhost' CONFIG_backup_dir='/var/backup/db' CONFIG_db_names=('YourDatabase') CONFIG_db_month_names=('YourDatabase') |
$ mkdir /var/backup
$ mkdir /var/backup/db
で保存するフォルダを作成しましょう。
◆Crontabに登録
あとは以下の要領で cronに登録すれば、完了です。
1 |
0 2 * * * /usr/local/bin/automysqlbackup /etc/automysqlbackup/automysqlbackup.conf |
■余談
ちなみに私は、別のサーバー(バックアップサーバー)にもファイルを保存するために、以下のようなシェルをバックアップサーバーに設置し、起動していたりもします。
1 2 3 4 5 6 |
#!/bin/sh today=`date "+%Y-%m-%d"` scp -i /home/example/.ssh/id_rsa example@192.168.1.1:/var/backup/db/daily/YourDatabase/daily_YourDatabase_${today}* /backup/db/YourDatabase/ before=`date +"%Y-%m-%d" --date "6 days ago"` rm /backup/db/YourDatabase/daily_YourDatabase_${before}* -f |