トーク:rsync でディレクトリの同期(バックアップ)

提供:maruko2 Note.
移動: 案内, 検索

/var/www/html 内のファイル&ディレクトリを、rsyncd サーバに別のディレクトリ名でコピーする

ソースで指定するディレクトリ名の最後にスラッシュを付けないようにすることで、/var/www/html ディレクトリ名が html_20090119 に変更されてコピーできる。

# rsync -av \
/var/www/html \
rsync://rsync_user@192.168.1.2/backup/html_20090119

ソースで指定するディレクトリ名の最後にスラッシュを付けると、html_20090119/html というディレクトリになってコピーされてしまう。

# rsync -av \
/var/www/html/ \
rsync://rsync_user@192.168.1.2/backup/html_20090119

CentOS 起動スクリプト(rc スクリプト)

/etc/init.d/rsyncd の例。

#!/bin/bash
# chkconfig: - 85 15
# description: rsyncd
 
RETVAL=0
prog="/usr/bin/rsync"
pidfile="/var/run/rsyncd.pid"
OPTIONS="--daemon --config=/etc/rsyncd.conf"
 
. /etc/rc.d/init.d/functions
 
start() {
	echo -n "Starting $prog:"
	daemon $prog $OPTIONS
	RETVAL=$?
	echo
	[ $RETVAL = 0 ] && touch $pidfile
	return $RETVAL
}
stop() {
	echo -n "Stopping $prog:"
	killproc $prog
	RETVAL=$?
	echo
	rm -f $pidfile
	return $RETVAL
}
case $1 in
	start  ) start ;;
	stop   ) stop ;;
	restart) stop && start ;;
	*)
		echo "Usage: $0 {start|stop|restart}"
		exit 1
esac

OS 起動時に自動起動させるには chkconfig で登録する。

chkconfig --add rsyncd
chkconfig rsyncd on

起動、停止は次のようになる。

/etc/init.d/rsyncd start
/etc/init.d/rsyncd stop

/etc/rsyncd.conf のすごく簡単な例。

uid         = root
gid         = root
log file    = /var/log/rsyncd.log
pid file    = /var/run/rsyncd.pid
[opt]
	comment = rsyncd server
	path = /opt
	read only = no
LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数