|
|
This document is available in: English Castellano ChineseGB Deutsch Francais Nederlands Russian Turkce Polish |
by Brian Hone <bhone(at)eink.com> ��������: Brian Hone �� E Ink ��˾��ϵͳ����Ա������������Ա����ҵ��ʱ�䣬Brian ϲ���ڱ��� ��ˮ�г��˻���ȥ���ҡ� Ŀ¼: |
Rsync: ��ʷ������õı���ϵͳժҪ:
������ϵͳ���������ޡ������ױ����ԵĹ���֮һ��ͬʱҲ������Ҫ�Ĺ���֮һ�������Ƿ���Ӳ�����ϡ��Ƿ����ֺ�ϵͳ��ȫ�������в�����ն��û������һ�����ߡ������౸��ϵͳ��ֵ��ǧ��Ԫ������ʹ�õ������� Bug ��ר�а�Ȩ���������ݴ��밺��ĴŴ����У���ʵ�����и��õķ�����Rsync �����۵Ĵ������С�
|
�ҿ��Ը���һ���������б�˵��������ϵͳ����Ա�����ʡ������������ϵͳ����Ա�Ļ����ҿ��ܾͲ������ˡ���ЩÔ������������г��������ϵİ���Ӳ�������ڹ����İ����������ָ���汾���ļ����ķѵĴ���ʱ�䡣������ǣ������ò²»µï¿½ï¿½Ñ±ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ýµï¿½Ê±ï¿½ò£¬±ï¿½ï¿½Ý¹ï¿½ï¿½ï¿½Í¨ï¿½ï¿½Ö»ï¿½ÐºÜµÍµï¿½ï¿½ï¿½ï¿½È¼ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ë±ï¿½ï¿½ï¿½/�ָ������п��ܻᷢ������ĶԻ���
�û�: "�Ҷ���һ���ļ�������Ҫ�����̰����һ�����"
ϵͳ����Ա: "Ok, �ļ�����ʲô?"
�û�: "�Ҳ��ǵ���, ��ֻ�ǵ��ļ�������һ����ĸ��'e'��"
ϵͳ����Ա: "Ok, ��ô�����ĸ�Ŀ¼��?"
�û�: "�Ҳ�֪��, ����������ЩĿ¼���е�һ����"
ϵͳ����Ա: "Ŷ... �����Ƿ�ǵ����ϴ�ʹ������ļ�������?"
�û�: "��....����Ӧ���Ƕ��»������µ�һ�������ġ���ʲô������?
������Ӧ���Ѿ�������ϵͳ����Ӧ������������ɡ�"
Rsync ��һ��С�ɵ��㷨��ǿ��ʵ�֡���������Ĺ����Ǹ�Ч�ؾ���һ���ļ�ϵͳ��������ʹ�� rsync����������ѡ��һ������Ð�飬���� nfs��smb �� ssh���������һ���ļ�ϵͳ����һ���ļ�ϵͳ����ͬ�����¡�Rsync �ĵڶ������ܣ�Ҳ���DZ���ϵͳʹ�õĹ��ܣ������԰��Ѿ������ı���DZ�ɾ�����ļ����ϵİ汾�鵵��Rsync �Ĺ���̫���ˣ�������������һһ����������ǿ�ҽ�������Ķ� rsync.samba.org �ϵ��������ж� rsync��
�򵥵�˵���������ϵͳʹ�������۵� Linux ��������ʹ�������۵Ĵ��̺�һ����Ϊ rsync �Ķ�С�� shell �ű���[ͼ 1] �����б��ݵ�ʱ�����Ǹ��� rsync ����һ����Ϊ 'YY-MM-DD' ��Ŀ¼����Ϊ�洢�仯�����ĵط���֮��rsync ���Ҫ���ݵķ������ϵı仯�����һ���ļ������˱仯���Ͱ��ϵİ汾���Ƶ�����Ŀ¼��������������Ŀ¼�е��ļ���[ͼ 2]
ͨ��һ��ı仯������ֻռ�����ļ�ϵͳ��һ����С�İٷֱȡ����߷����������ֵƽ���� 0.5% �� 1%��������ʹ��һ�������ڷ������ļ�ϵͳ�ijߴ�Ĵ��̣����ǿ�����Ӳ���ϱ��� 50-100 ����������ݡ����������ˣ�ֻҪ��һ���µĴ����滻�ϵľͿ����ˡ���ʵ�ʲ����У������Ͽ��ܿ��Ա��泬������������������ݡ���ʵ�ϣ���������ҵ�һЩ�洢�ռ䣬�����ڸ�������֮ǰ���������ݸ��ƹ�ȥ��ʹ�����ַ�����������ڴ����ϱ��������������������ݡ�
�ص���ͷ���Ǹ�����ĶԻ������ڻ������صĻ��ڴŴ��ı���ϵͳ������һ���������µ���������������� Linux ���������ص������ء�ʹ����ϲ���� locate/find/grep ����ϣ�������ҳ����е���������������Ǹ��û��Ŀ��ܷ���������ļ��������ļ����а��� 'e'��ʱ����Ƕ��»����µ�һ�������ģ������Ƿŵ����� home Ŀ¼�µ�һ��Ŀ¼�С����������ҳ��Ǹ��汾���ļ����û���Ҫ���Ǹ��ļ�������ͳ�Ϊ��������ϲ����һ�����⡪�����˵����⡣
��������һ������ϲ���ij���-- ��ȫ�Ĺ��ϡ���������һ����� nfs/samba ���������˹��ϣ����ˣ�������Ѿ���������� samba ���ã������������ı��ݷ�������Ϊ���Ϸ�������һ��������֮�ڵ�ֻ��������������������Կ��ɲ������ôŴ�������һ�㡣
�Ŵ����� | Rsync | |
---|---|---|
�ɱ� | �dz��� | �� |
��ȫ���� | �� | �� |
�������� | �� | �� |
��ȫ�ָ� | �dz���������λ�ڶ���Ŵ��� | �� -- ȫ�ڴ����� |
�ļ��ָ� | ��������λ�ڶ���Ŵ��ϣ����Բ�����ȷ�İ汾 | �dz��� - ȫ��λ�ڴ����ϣ����������ʹ�� UN*X ������ find, locate, grep �Ȳ��ҹ��ߵ�ǿ���� |
��ȫ���� | Ψһ��ѡ������ȫ�ָ� | �ڹؼ�ʱ�̱��ݷ�����������Ϊ�������ļ������� |
�кܶ෽�����������ϵͳ�����еĹ��߶��ǿ�Դ�ģ�������һ����׼�� Linux ������֮�У����ҷdz���������������һ���������ã����������Ψһ�ķ�����
����ű��Ļ�����ʽ������ rsync ����վ����ʵֻ��һ�����
rsync --force --ignore-errors --delete --delete-excluded --exclude-from=exclude_file --backup --backup-dir=`date +%Y-%m-%d` -av
�ؼ��IJ����ǣ�
����Ľű�ͨ�� Linux �ڽ��� cron ���ܣ�����ÿ�������Զ����С�����Ҫ�ó���ÿ������ 11 �����У�ʹ��"crontab -e"���Ȼ�����룺
0 23 * * * /path/to/your/script
�������ҵ� shell �����Ľű�����˵һ�Σ��кܶ಻ͬ�ķ�������������Щ����ֻ�����е�һ��ʵ�ְ汾��
#!/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
|
��ҳ��LinuxFocus�à¼ï¿½ï¿½Î¬ï¿½ï¿½
© Brian Hone, FDL LinuxFocus.org |
������Ϣ:
|
2004-02-18, generated by lfparser version 2.46