リモートサーバへ差分バックアップ CentOS5

以前使用していたrsyncを用いた差分バックアップスクリプトを書き換える機会があったのでついでに公開しておきます。

#!/bin/bash
#
# バックアップスクリプト(リモートサーバ)
#

#################### 各種環境設定 #######################
# rsyncコマンドのパス
RSYNC_BIN='/usr/bin/rsync'
# sshコマンドのパス
OPSSH_BIN='/usr/bin/ssh'
# バックアップ先のサーバのアドレス
HOST_NAME='example.net'
# バックアップ先のサーバのパス
HOST_PATH='/backup-example.net'
# rsyncコマンドのオプション
RSYNC_OPTION='-avz --delete -e'
# sshコマンドのオプション
OPSSH_OPTION='-i'
# ssh接続で使用する秘密鍵のパス
OPSSH_KEY='/root/.ssh/id_rsa'
# バックアップするディレクトリ
BACK_UP_PATHS='/'
################# バックアップ設定 ######################
# バックアップから除外するディレクトリ一覧
EXCLUDE_PATHS=(\
  '/lib/'\
  '/lib64/'\
  '/dev/'\
  '/proc/'\
  '/sys/'\
  '/misc/'\
  '/mnt/'\
  '/srv/'\
  '/opt/'\
  '/media/'\
  '/selinux/'\
  '/var/log/'\
  '/var/lib/'\
  '/var/run/'\
  '/var/cache/'\
)

#########################################################

# バックアップ除外オプションの作成
for PATH in ${EXCLUDE_PATHS[@]}
do
  EXCLUDE=${EXCLUDE}' --exclude '${PATH}
done

# 実行
${RSYNC_BIN} ${RSYNC_OPTION} \
"${OPSSH_BIN} ${OPSSH_OPTION} ${OPSSH_KEY}" \
${EXCLUDE} ${BACK_UP_PATHS} ${HOST_NAME}:${HOST_PATH}${BACK_UP_PATHS}

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(Spamcheck Enabled)

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)