古いデータはローテートしてくれるバックアップスクリプト

を晒す

Webデータのバックアップ。他の場所を指定するには cd の場所とtar のターゲット指定を変えればいい。

#!/bin/sh
cd /var
BACKUP_DIR=/var/backup/srvname
WWW_FILE=www-backup.tar

i=3
until [ $i -eq 1 ];
do
j=`expr $i - 1`
if [ -e $BACKUP_DIR/$WWW_FILE.$j ]; then
mv $BACKUP_DIR/$WWW_FILE.$j $BACKUP_DIR/$WWW_FILE.$i
fi
i=`expr $i - 1`
done

if [ -e $BACKUP_DIR/$WWW_FILE ]; then
mv $BACKUP_DIR/$WWW_FILE $BACKUP_DIR/$WWW_FILE.1
fi

tar cvf $BACKUP_DIR/$WWW_FILE www/

MySQLデータのバックアップ。

#!/bin/sh
BACKUP_DIR=/var/backup/srvname
DUMP_FILE=mysqldump.sql

i=7
until [ $i -eq 1 ];
do
j=`expr $i - 1`
if [ -e $BACKUP_DIR/$DUMP_FILE.$j ]; then
mv $BACKUP_DIR/$DUMP_FILE.$j $BACKUP_DIR/$DUMP_FILE.$i
fi
i=`expr $i - 1`
done

if [ -e $BACKUP_DIR/$DUMP_FILE ]; then
mv $BACKUP_DIR/$DUMP_FILE $BACKUP_DIR/$DUMP_FILE.1
fi

mysqldump -u root -x --all-databases --password=hogehoge > /tmp/$DUMP_FILE
mv /tmp/$DUMP_FILE $BACKUP_DIR/