プロジェクト

全般

プロフィール

MySQL-backup

  • MySQLアプリをバックアップするスクリプトです。
  • MySQLデータベースと使用しているコンテンツを一定履歴分保存します。
  • Cronでの運用を想定しています。
  • スクリプトなので、設定内容は適宜変更して下さい。
  • コンテンツ丸ごとバックアップは非常にサイズが大きくなるので
    保存履歴数に注意をして下さい。

設定ファイル編集

  • スクリプト本体兼設定ファイルを編集します。
    vi /root/backup.sh
    ------------------------------------------------------
    #!/bin/sh
    
    # 保存履歴数
    REG=7
    # 保存先
    BKDIR='/root/backup'
    # ファイル名
    BKFILE=`date +%y%m%d`
    # DB接続設定
    DBUSER=db_user
    DBPASS=db_pass
    DBNAME=mysql_db
    # コンテンツの場所
    TGDIR='/usr/local/app'
    
    mkdir -p $BKDIR
    mysqldump -u $DBUSER --opt --password=$DBPASS $DBNAME > $BKDIR/$BKFILE.sql
    
    DELFILE=`date --date "$REG days ago" +%y%m%d`
    rm -f $BKDIR/$DELFILE.sql
    
    tar czf $BKDIR/$BKFILE.tar.gz  $TGDIR
    rm -f $BKDIR/$DELFILE.tar.gz
    
    exit
    

動作確認

  • 次のコマンドが正しく実行されるかテストする。
    # sh /root/backup.sh
    

自動起動設定

  • テストが正しく行えたら、自動起動を設定します。
    例:毎日3時実行
    # crontab -e
    ------------------------------------------------------
    0 3 * * * sh /root/backup.sh
    

 

戻る