MySQLとバーチャルホストディレクトリのバックアップ

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

バックアップシェル

$ vim /root/backup.sh

#!/bin/sh

# 何日分保存するか
period=3
# バックアップしたいディレクトリ(バーチャルホストディレクトリ)
wwwdir=/home
# バックアップ保存先ディレクトリ
dirpath=/root/backup
# 今日のバックアップを保存するディレクトリ
todaydir=`date '+%Y%m%d'`
# DBユーザー
dbuser=user
# DBパスワード
dbpassword=xxxxxxxx

# 今日のバックアップを保存するディレクトリを作成
mkdir $dirpath/$todaydir

# MySQLバックアップ
for i in `mysql -u$dbuser -p$dbpassword -e "show databases"`
do
    if [ $i == "Database" ]; then
        continue
    fi;
    mysqldump --single-transaction $i -u$dbuser -p$dbpassword --opt | gzip > $dirpath/$todaydir/mysql.$i.sql.tar.gz
done;

# ディレクトリバックアップ
for i in `ls $wwwdir`
do
   tar cvfz $dirpath/$todaydir/www.$i.tar.gz $wwwdir/$i
done
tar cvfz $dirpath/$todaydir/www.$i.tar.gz /var/www


olddir=`date -d "$period days ago" '+%Y%m%d'`
rm -rf $dirpath/$olddir

実行

$ chmod 0700 /root/backup.sh
$ /root/backup.sh

$ ll /root/backup
合計 4
drwxr-xr-x 2 root root 4096 12月 31 01:17 20131231

cron追加

$ crontab -e

0 4 * * * /root/backup.sh 1> /dev/null
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

ads

コメントを残す

*