MISO10 BLOG

Avatar

MISOスタッフが綴るブログ

Home » LINUX, Server » Blog article: バックアップについて。

バックアップについて。

PC・モバイルサイトなどの構築をしていると、必ずバックアップが必要になってくる。

これをしてないと、まれにHDDがクラッシュしたときに泣ける(T。T

そこで、バックアップについて考えてみる。

1.バックアップ方法

・tar/zipコマンドによる圧縮

2.転送方法

・rsyncによる転送

・scpによる転送

・SCPによる転送

・rsyncやSCPはパスワードをソースに書いたり空パスフレーズを作ったりなどちと面倒。。

本当はそっちのほうがいいのかもしれないが、今回はtar圧縮+FTP転送を選択


 #!/bin/sh
 # backup shell
 #
 # author Saito
 ################
 # error
 ################
 if [ $# -ne 4 ]; then
 echo "Usage: backup.sh backupdir todir env" 1>&2
 echo "  logdir: /home/***/*"
 echo "  backupdir: /tmp/backup/"
 echo "  env: product/test/develop"
 exit 1
 fi
 ################
 # setting
 ################
 BACKUPDATE=2
 BACKUPDIR=$1
 TODIR=$2
 CURDATE=`date +%Y%m%d`
 LASTDATE=`date --date '1 day ago' +%Y%m%d`
 FILE=`ls -t -1 `
 BACKUPFILE="`basename ${BACKUPDIR}`_${LASTDATE}.tar.gz"
 SITE=$3
 ENV=$4
 IP=192.168.1.10
 USER=backup
 PASSWORD=password
 ################
 # backup
 ################
 find ${TODIR} -type f -ctime +${BACKUPDATE} -print0 | xargs -0 echo
 tar zcf ${TODIR}${BACKUPFILE} ${BACKUPDIR}
 ftp -i -n -v ${IP} << EOF
 user ${USER} ${PASSWORD}
 binary
 put ${TODIR}${BACKUPFILE} /BACKUP_CONTENTS/${SITE}/${ENV}/${BACKUPFILE}
 quit
 EOF
 ################
 # rm(約10時間以前のバックアップは削除)
 ################
 for oldFile in `find ${TODIR} -type f -mmin +1000`
 do
 rm -f $oldFile
 done

■自動化

毎日、アクセスが少ない時間にバックアップ

・Help

/root/cron/backup.sh バックアップ元 バックアップ先 環境

・設定例


0 5 * * * sh /root/cron/backup.sh /home/********/product /home/*******/_backup/product/******* product > /dev/null 2>&amp;amp;1

関連記事

Comment[0]

Post Your Comment