USBメモリを使って手軽にバックアップ

2011年7月12日(火)
sanonosa

バックアップのためのスクリプトを作成する

周期的にバックアップを取るためにはその手順をスクリプト化しておくことが必要となります。ここでは、普段著者が使用しているバックアップスクリプトから主要部分を抜粋してご紹介します。このスクリプトは、バックアップ対象を一度/tmp配下にコピーした後tarで固めてgzip圧縮した後USBメモリにコピーするという単純なものです。

  #!/bin/sh
TARGET_DIR=/home/user/data
#バックアップ対象となるディレクトリの指定
  SAVE_NAME=backup`date +%Y%m%d_%H%M`
  #バックアップ名
BACKUP_DIR=/mnt/extdisk
#バックアップ先の指定
  SAVE_DIRNAME=$BACKUP_DIR/$SAVE_NAME
TMP_DIR=/tmp
  TMP_SAVE_DIRNAME=$TMP_DIR/$SAVE_NAME
mkdir $TMP_SAVE_DIRNAME
# sources
  cp -r $TARGET_DIR $TMP_SAVE_DIRNAME
  #バックアップ対象を一時的にコピー
# compress
  cd $TMP_DIR
  tar -cf $SAVE_NAME.tar $SAVE_NAME
  #バックアップ対象をtarで固める
rm -rf $TMP_SAVE_DIRNAME
gzip $SAVE_NAME.tar
#tarボールをgzipで圧縮する
mv $SAVE_NAME.tar.gz $SAVE_DIRNAME.tar.gz
#バックアップをUSBメモリに移動

このスクリプトではバックアップを取った日時をファイル名に付与しているため、バックアップ一覧を見るといつのバックアップなのか一目瞭然(りょうぜん)です。

  # ls -l /mnt/extdisk
  -rw-r--r-- 1 root root  19139756 Jun 1  2011 backup20110601_0330.tar.gz
  -rw-r--r-- 1 root root  19139756 Jun 2  2011 backup20110602_0330.tar.gz
  -rw-r--r-- 1 root root  19139756 Jun 3  2011 backup20110603_0330.tar.gz
  -rw-r--r-- 1 root root  19139756 Jun 4  2011 backup20110604_0330.tar.gz

国内某有名ITベンチャー企業に創業メンバーとして携わる。国内最大規模のシステムを構築運用してきたほか、社内情報システム導入のプロジェクトマネジメント、韓国の交友関係が豊富なことから韓国関連で多数のシステムインテグレーションなども行ってきた。前職は富士通株式会社でSE。
個人blog:http://nosa.cocolog-nifty.com/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています