HOME > SITE管理> バックアップ

syncでバックアップ

syncを使い、別のサーバーへバックアップファイルを毎日同期させる。 

scpコマンドを使って、セキュアに転送したい。

  • http://server-setting.info/centos/rsync-ssh.html
  • rsyncで同期ファイルの除外指定
    –exclude【除外したいファイルの指定】
  • rsyncで特定のファイルだけ転送する
    この–exclude-fromオプションでファイルを読み込む方法を試したが、うまく動かなかったためシェルスクリプトを利用する次の方法で決着
  • http://www.tarohime-happy.com/rsync.html このスクリプトをcronに登録。
    その20分前ほど、mybackup.shでDBのバックアップを取っておく。

#!/bin/bash

#コマンド
RSYNC=’rsync -avz –delete -e ssh’
RSYNC2=’rsync -avz –delete –exclude=spam/ -e ssh’
# バックアップ機のアドレス
BACKUPIP=’nsme@nsm2.net
BACKUPDIR=’/var/nsme/rsync’
#
# バックアップコマンド
#
$RSYNC2 /home/ $BACKUPIP:$BACKUPDIR/home/
$RSYNC /root/sh $BACKUPIP:$BACKUPDIR/root
$RSYNC /root/export $BACKUPIP:$BACKUPDIR/root
$RSYNC /etc/awstats/ $BACKUPIP:$BACKUPDIR/etc/awstats/
$RSYNC /etc/httpd/ $BACKUPIP:$BACKUPDIR/etc/httpd/
$RSYNC /var/log/ $BACKUPIP:$BACKUPDIR/var/log
$RSYNC /var/www/awstats/ $BACKUPIP:$BACKUPDIR/var/www/awstats/

 

  1. バックアップ先のホームディレクトリは/home以外に作成
  2. 鍵の作成 ssh-keygen -t rsa
  3. 公開鍵はリモートサーバーへコピー(パーミッションは600)
  4. sshで接続してみる
    ssh nsme@nsm2.net
    ポートを指定している場合 ssh -p **** nsme@nsm2.net
  5. rsync実行
    rsync -avz –delete –exclude=spam/ -e ssh /home/ nsme@nsm2.net:/var/nsme/home/ 
    rsync -avz –delete -e ssh /var/www/awstats/ nsme@nsm2.net:/var/nsme/awstats/ 
    rsync -avz –delete -e ssh /etc/ nsme@nsm2.net:/var/nsme/etc/
    ポートをしていている場合 
    rsync -avz –delete -e “ssh -p ****” /etc/ nsme@nsm2.net:/var/nsme/etc/
  6. 上記の様に何回もrsyncするのではなく、ファイルを別ファイルにまとめてそれを –exclude-fromオプションで指定した方がいい。
  7. CRON登録 
    rsync -avz –delete –exclude-from=/root/sh/rsync_list -e ssh / nsme@nsm2.net:/var/nsme/rsync/鍵交換方式のscp
    [接続先のユーザ名]の/home/.ssh/に公開鍵「authorized_keys」があって、AにBの「公開鍵」に対応する秘密キー「b_rsa_id 」があるとします。

$scp -i ~/.ssh/b_rsa_id -r -P [SSHのポート] /var/www/html/ [転送先のユーザ]@[転送先ホスト名・またはIPアドレス]:/var/www/
scp -i ~/.ssh/nsm2_rsa ファイル名 nsme@nsm2.net :転送先ディレクトリ
scp -i ~/.ssh/nsm2_rsa /home/midori/logs/access_log nsme@nsm2.net:/home/nsme/backup

scpのオプションは、
-iは秘密鍵の指定
-rはディレクトリ全体をコピー
-Pはポートの指定(デフォルトポートの22なら省略)

サーバで公開鍵と秘密鍵を作り、公開鍵は転送先サーバ、秘密鍵は転送元サーバに置く。
鍵の作成 http://doruby.kbmj.com/oneafter999_on_rails/20100224/_SCP_
http://arinux.net/?eid=58

転送先 公開鍵 .ssh/authorized_keys に名前変更 ディレクトリのパーミッションは700
秘密鍵 パーミッション600