TOC
Purpose of rfs
Terms of use
Thanks
News
Requirements
Install
Usage
Resources
Bug report
Authors
This page can be found at http://1nj1.net/rfs/rfs.html
rfs is a shell script for creating and updating a local spare system disk. The main goal is to recover a working system after a crash quickly. In this case, "quickly" means the time it takes to reboot the machine. The very first version of rfs was "sauver_sys.sh", a shell script written by Eric Gerbier http://eric.gerbier.free.fr . rfs stands for "replication of file systems".
rfs works on Gnu/Linux platforms and supports ext2/ext3 file systems. Targets are workstations as well as servers : your system remains fully-working while the backup is processed.
rfs is free and licensed under the General Public License : you can use it, modify it at your convenience. If you plan to embed it in a (commercial) package, remember this package has to conform with the General Public License. See file COPYING for details.
Jix and Iain, who helped to catch bugs
Eric for support and suggestions
* 2.13 : installation fix : added "chmod 644 /usr/share/man/man1/rfs.1" in doc/Makefile
* 2.13 : looks in `RFS_EXCLUDE' shell variable for custom exclusions. a man page has been written.
* 2.12 : force /dev replication
* 2.11 : modified umount_target() to umount root device last.
* 2.10 : added debug switch `-D' - integrated Eric's patch to print version number while running verbose.
* 2.09 : prevent pivot directory from being cloned.
* 2.08 : continue to next partition in case current fails to be cloned (thanks again to Steve Marx). replaced `-s' and `-f' switches witch meant "don't ask anything to user', by a unique `-f' switch. new stdout formatting XFree-like. Other minor changes listed in ChangeLog.
* 2.07 : corrected lilo's version in requirements : lilo>=5 is enough. Thanx to Steve Marx.
* 2.06 : bug fix for ``-v'' switch, changes in rfs.spec (rpm generation). Thanx to Claude Clerc.
* 2.05 : ``-v'' switch to display files and dirs while rsync processes them.
* 2.04 : bug fix in creation of $mount_point_list : only "/" was processed
Minor changes : rfs-2.03 : new switches ``-y'' equivalent to ``-s'', and ``-V'' to display version.
Bug fix : rfs-2.02 : rewrote lilo part.
Bug fix : rfs-2.01 : moved earlier in code the initialization of ``rsync_pattern''
More simple : rfs-2.0 : master boot record and /etc/fstab now remains the same on target disk. A bug fix in std_space() has been corrected, and there are much more comments in the code.
Raid disks : rfs-1.1 : improved support for raid devices. Bug fixes. Code cleanup
Bug fix : rfs-1.08 : fixed a parsing bug occurring with two digits partition numbers - thanks to Eric.
Bug fix : rfs-1.07 : devices not living on source or target disk are now kept mounted during backup
Sysfs support : added in version 1.05-2
Label and uuid's in /etc/fstab : not (yet) supported. rfs now exits properly if those directives are found. fstab's entries have to start with "/dev/hdX".
Grub support : some of you asked for that. For now I try to make the current lilo-based version of rfs as clean as possible. Anyway, if you experiment with grub, please send your feedback.
a GNU/Linux machine
a backup disk : same size or bigger than the disk to clone
sed-3.95 or later
rsync 2.5.6 or later
lilo 5 or later
The current release is rfs-2.13-4.tar.bz2 . [ ChangeLog ]
tar -xjf rfs-2.13-4.tar.bz2
cd rfs-2.13
su -
make install
Previous releases : ./arc .
To build a rpm :
rpm -tb rfs-2.13-4.tar.bz2
See http://www.rpm.org/RPM-HOWTO/ to have a further look on building a rpm.
To clone /dev/hda on /dev/hdb , become root and type :
rfs /dev/hda /dev/hdb
If your system disk crashes, put the target disk in place of the source one, and reboot.
See also man 1 rfs .
README.html
FAQ.html
similar projects : backupDD : http://erick.bullier.org/pub/real_perso/backupDD/
Eric's page : http://eric.gerbier.free.fr/double-disque.html
rfs is referenced on http://freshmeat.net/
see also http://directory.fsf.org/sysadmin/backup
use the last available version of rfs.
send a log to Nicolas or Eric.
rfs -f -v -D /dev/hda /dev/hdb 2>&1 | tee /tmp/rfs.log
Nicolas Jouanne <nico ( AT ) 1nj1 ( DOT ) net>
Eric Gerbier <gerbier ( AT ) users.sourceforge ( DOT ) net>
Copyright (C) 2004 2005 2006 2007 Nicolas Jouanne
$Id: rfs.hg,v 1.46 2007/04/19 19:32:50 nico Exp $