[LinuxFocus-icon]
<--  | �����  | �����  | ������  | �����

������� | ������ | ������ | ��� LF
��� �������� �������� �� ��������� ������: English  Castellano  ChineseGB  Deutsch  Francais  Nederlands  Russian  Turkce  Polish  

Brian Hone
����� Brian Hone
<bhone(at)eink.com>

�� ������:

Brian Hone �������� ��������� ��������������� � ������������� � ���������� E Ink. � ��������� ����� ������� � �������� ���� � ���������� �����������.



������� �� �������:
Pukhlyakov Kirill <kirill(at)linuxfocus.org>

����������:

 

Rsync: ������ ������� ���������� �����������

RSYNC Backup

������:

��������� ����������� ���� �� ������� � �������� �������������� ������� ���������� �����������������. �� �� ����� ���� - ��� ����� ������ ��� �����. ��� ��������� ������� � ������ ������� � �������������, ������������� � ������� �� ������ �� �������� �������������. ���������� ����� ������ ���������� ����������� - ��� ����� ������ ��������, ���������� ������� ������������ � ��������� �� ���������� ����������� �����������. � �� �� ����� �� ����� ������� ������ ������� - Rsync � ��������� �������� ������.

_________________ _________________ _________________

 

��������

���� ����������� ��� ��������� ������� ����, ��� ��������� ����������� ��� ��������� ������ ��� ���������� ��������������: ������� ������������, ������� ����� ��������, ������� ����������� ����������� � ������� ����� �������, ����������� �� ��������������� ������ ������ ������. ����� ������, ��� ���� ����� ����� ���������� �������� ����������� ������ �� ���� ������� ����� ��� �����������. ���� �� ��� �������, ������� ���������� �����������/��������������� ������, ��������� ��� ������ ��������� ������:

������������: "� ������� ����. �� ������ ��� ������� ���.."
��������� �������������: "������, �������� ��� �����"
������������: "� �� ����, ��� �������, ��� � �������� ���� ����� 'e'."
��������� �������������: "������, � ����� �������� �� ���������?"
������������: "� �� ����, �� ��� ���� � ����� �� ���� ����..."
��������� �������������: "�� ������ ������� ���� �� ���� ����� �� ��������� ��� � ��� ��������?"
������������: "���....��� ������� ��� ���� � �����-�� ������� � ������� ��� ������. �� ������� � ��� ��������? � ����� � ��� ���� ������� ���������� �����������, ������� �������� � �������� ���������"

 

Rsync

Rsync - ���������� ���������� ���������� ���������. ���� �� ������� ���������� ����� ���������� - ����������� ������������ �������������� �������� �������. � ������� rsync ����� ��������� ������� ���������� �������� �������, ��������� ������ ����� ������� ����������: nfs, smb ��� ssh. ������ ����������� - ����������� ������������ ������ ����� ������, ������� ���������� ��� ���� �������. ��� ������ �� ��� ����������� ������������� ����� ����������, ���������� ��� �������� ��������� �� rsync.samba.org.

 

�������

���� ���� ������� � �������� ������� ���������� �������: ������� ������� �� ��������� Linux ������ �� ���������� ������� ������ � ���������� shell ������� - rsync. [Fig 1] ������� ����������� ���������: ������� rsync ������� ������� 'YY-DD-MM' ��� ���������� ���������� ������, ����� rsync ��������� ������� ��������� ���� ��� �������������� �� ������� ��������� - ���� ���� ��� ������� ������ ������ ���������� � ������ ��� ��������� ������� � ����� �������������� ����� ������� �����. [Fig 2]

RSYNC Backup Process

����� �������� � ���, ��� ���������� ��������� � ������� ���������� ��������� ����� ������������ �������� ������� - � ������� ������� .5%...1%. ����� �������, ���� ��� ���������� ����������� ����� ������� � ��� ���� ����������� ���� �������� �������, ����� ������� ������ �������� �� 50 - 100 ����. ����� ����� �� ������ ����������, ������ ��������� ��. �� �������� ���������� ���, ��� �� ����� ������ ������ ����� ������� ���������� �� 6 �������. �� ����� ���� ����� ����� ������� ������ ����������� �� ���������� ��� ����-������.

How Incremental Files are Handled  

������������: ��������� �������������� � �������������� ������ ������ �����

�������� � ������������� �������. ������ ���������� �������, �������� ������ �� ������, � ��� ���� ����� �� ��������� 6 ������� �� ����� Linux ������. � ������� ����� ������ ��� locate/find/grep ����� ����� ��� ����� ����� ������������� ������������, � ������ 'e' � ����� � ���������� ��������� ������� ��� ������ � ����������� �� � �������� ������� ����� ������������. �������� ������ ���������� ������ ����� - ��� ������� ��������: � ������� �� ����-�� ������ ���������.

�����, ���������� ����� ���������� �������� - complete failure. �������� ����� �������� ��������� � ������� nfs/samba ��������. ���� �� ������ ��������� ����������� �������� samba �������, �� ������� ��� ��������� ��������� � �������� ������ � ������� ������ �� ������ - ���� ���������� �����. ����������� �������� �������� � ������ ������������� ����.

 

��������� ������ �� ������ Rsync/�������_����� � ����

  ����� Rsync
���� ����� ������� ������
������ ��������� ����������� ������ ������
��������������� ���������� ����������� ������ ������
������ �������������� ����� ��������, �������� ��������� ���� ������ - ��� ������ �� ����� �����
�������������� ������ ��������, �������� ��������� ����, ������ ����� ������ ������. ����� ������ - ��� ������ �� ����� ����� ���� �������� UN*X: find, grep � locate
������ ����� ������� ������������ ����� - ������ �������������� ���� ����������� �������� ����������� ���������� ������� � ����������.
 

�����������

�������� ������� ����� ����� ���������. ��� ������������ ����������� - open-source, ��� ������������ � ����������� �������������. �������� ���� ������ �������� �������� �������, �� �� ���������, ��� �� �� ������������.

 

� �������

������ �������� �� ����� rsync. ����������� ��������� �������:

rsync --force --ignore-errors --delete --delete-excluded --exclude-from=exclude_file --backup --backup-dir=`date +%Y-%m-%d` -av

���������� �������� �����:

���� ������ ����� ��������� ������ ���� cron'��. ����� �� ���������� ������ ���� � 11pm ����������� ��������� ������� "crontab -e" � ����� ��������:

0 23 * * * /path/to/your/script

 

��� ������

������� ����� ��� ������, ����� ������� ��� ��������� ���� ������. ��� ��� �������, ��� ���������� ����� �������� ���������� ���� �������, ��� ������ ���� �� ���������.

#!/bin/sh

#########################################################
# Script to do incremental rsync backups
# Adapted from script found on the rsync.samba.org
# Brian Hone 3/24/2002
# This script is freely distributed under the GPL
#########################################################

##################################
# Configure These Options
##################################

###################################
# mail address for status updates
#  - This is used to email you a status report
###################################
MAILADDR=your_mail_address_here

###################################
# HOSTNAME
#  - This is also used for reporting
###################################
HOSTNAME=your_hostname_here

###################################
# directory to backup
# - This is the path to the directory you want to archive
###################################
BACKUPDIR=directory_you_want_to_backup

###################################
# excludes file - contains one wildcard pattern per line of files to exclude
#  - This is a rsync exclude file.  See the rsync man page and/or the
#    example_exclude_file
###################################
EXCLUDES=example_exclude_file

###################################
# root directory to for backup stuff
###################################
ARCHIVEROOT=directory_to_backup_to

#########################################
# From here on out, you probably don't  #
#   want to change anything unless you  #
#   know what you're doing.             #
#########################################

# directory which holds our current datastore
CURRENT=main

# directory which we save incremental changes to
INCREMENTDIR=`date +%Y-%m-%d`

# options to pass to rsync
OPTIONS="--force --ignore-errors --delete --delete-excluded \
 --exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av"

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin

# make sure our backup tree exists
install -d $ARCHIVEROOT/$CURRENT

# our actual rsyncing function
do_rsync()
{
   rsync $OPTIONS $BACKUPDIR $ARCHIVEROOT/$CURRENT
}

# our post rsync accounting function
do_accounting()
{
   echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
   echo >> /tmp/rsync_script_tmpfile
   echo "################################################">>/tmp/rsync_script_tmpfile
   du -s $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
   echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
   Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile
   echo "rm /tmp/rsync_script_tmpfile"
   rm /tmp/rsync_script_tmpfile
}

# some error handling and/or run our backup and accounting
if [ -f $EXCLUDES ]; then
	if [ -d $BACKUPDIR ]; then
		# now the actual transfer
		do_rsync && do_accounting
	else
		echo "cant find $BACKUPDIR"; exit
	fi
	else
		echo "cant find $EXCLUDES"; exit
fi
 

�������

 

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ���������
 talkback page 

<--, ������� � ��������� �������� �������

Webpages maintained by the LinuxFocus Editor team
© Brian Hone, FDL
LinuxFocus.org
Translation information:
en --> -- : Brian Hone <bhone(at)eink.com>
en --> ru: Pukhlyakov Kirill <kirill(at)linuxfocus.org>

2004-03-05, generated by lfparser version 2.43