BLOGTIMES
2017/01/24

MySQL の定期バックアップを取る sh スクリプト

  mysql  systemmanagemant  sh 
このエントリーをはてなブックマークに追加

オペミス等が怖いので MySQL のバックアップは日時で取るようにしています。
バックアップも単に取り続けるとディスク容量を圧迫してしまうので、最大10個に制御されるようなスクリプトを書いてみました。

mysqlbackup.sh

#!/bin/bash SCRIPT_DIR=`dirname $0` cd $SCRIPT_DIR yyyymmdd=`date +%Y%m%d` SNAPCOUNT=10 mysqldump -u root --opt --add-drop-database -A | xz -T 0 > mysqldump_$yyyymmdd.sql.xz find . -name 'mysqldump_*' -type f | sort -r | tail -n +$SNAPCOUNT | xargs --no-run-if-empty rm -f

このスクリプトをサーバに仕込んで cron などで定期的に呼出すようにしてやれば気軽にバックアップが取れます。
root のパスワードはスクリプト中に書かずに ~/.my.cnf に書いておくと便利です。

~/.my.cnf

[client] password="ここにパスワードを書く"

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9101
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン