Mysqlデータベース自動backup

Mysqlデータベース自動backup

MySqlのデータベース自動バックアップ

実行ファイルを作成する

backupsql.sh

vim /root/sqlbackup/backupsql.sh


#!/bin/sh

# 日付でフィル名を定義
filename=date +%y%m%d

# 10日前のファイル
oldfile=date --date "10 days ago" +%y%m%d

# dump
mysqldump -uroot -ppassword -hhostname databasename > /root/sqlbackup/$filename.sql

# ファイルの権限を変更
chmod 700 /root/sqlbackup/$filename.sql

# 期限が過ぎているファイルを削除
rm -rf /root/sqlbackup/$oldfile.sql

コマンドラインでパスワードを指定すると、以下のエラーが出るため:

mysql: [Warning] Using a password on the command line interface can be insecure.

defaults-extra-file オプションでユーザ名をパスワードをファイルに書き込んで、ファイルを読みこむ:

vim /root/sqlbackup/my.conf

user=root
password=password

backupmysql.shを変更

# vim backupmysql.sh
mysqldump --defaults-extra-file=/root/sqlbackup/my.conf databasename > /root/sqlbackup/$filename.sql

crontabを設定する

crontabの詳細設定はcrontab

vim /root/sqlbackup/.crontab.conf

3 /root/sqlbackup/backupsql.sh

ためしに、backupmysql.shを実行

./backupmysql.sh

backupフォルダにsqlファイルができていることを確認

以上、自動バックアップの設定でした。

发表评论

邮箱地址不会被公开。 必填项已用*标注