old-www/LDP/LG/issue29/pate.html

190 lines
7.7 KiB
HTML

<!--startcut ==========================================================-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>Back-up Using rdist LG #29</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<!--endcut ============================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H2><font color="maroon">Using rdist for Backups</font></H2>
<H4>By <a href="mailto:johnny@dvc.org.uk">John Pate</a></H4>
</center>
<P> <HR> <P>
In <STRONG>Linux Gazette</STRONG> Issue number 24 <STRONG>Gerd
Bavendiek</STRONG> described his script which he calls "mirror." In this
script he makes use of the utility 'rdist' which is widely available on
Unix systems. In my article I shall explain how I use 'rdist' which
I hope will give the beginning Linux user a background to Gerd's article
and show how useful 'rdist' is to those with multiple computers (which
should be every Linux user nowadays!)
<P>
In the UK today you can get a complete 486DX66 system including monitor
for a hundred pounds, which has got to be a bargain and ideal as a backup
system for your "main" computer. Even if you feel its hard disk is too
small (typically they have them in the 200-300meg range) today you can
get a 2gig hard disk for under one hundred pounds or an 850meg one for
sixty pounds. So for no more than a couple of a hundred pounds you not
only have a backup device but a working computer you can use in emergency
in the event of the failure of your "main" machine. I have two 486DX66s,
both other peoples' discards which cost me nothing apart from extra RAM
and a bigger hard disk for the "main" machine (and a modem of course -
though now I have a couple of spare V32bis other people have junked,
isn't progress wonderful). One has 40meg of RAM and is my "main" computer
running Slackware 3.3. The other has 8meg of RAM and Slackware 3.3 again.
The "backup" has a half gig hard disk given to me because it makes an
unpleasant whine during operation. In spite of the noise, the disk
works fine so is good for backup space. A couple of discarded network
cards from a "parts bin" and a look at the <STRONG>NET-3-HOWTO</STRONG>
(you can find this in the directory '/usr/doc/faq/howto' in Slackware 3.3)
gets the two computers talking to each other. Other alternatives are PLIP
or a null modem cable, but network cards are easy to come by nowadays.
(Note: network cards with RJ45 interfaces can connect two computers
together if you make a crossover cable, it works for me.)
<P>
Once the computers are talking you can use ftp or even Samba to
transfer files, as well as mounting various drives and partitions
by NFS. All good clean fun. But the ideal way to maintain a "mirror"
of your home directories so you don't lose any precious datafiles is
to use 'rdist'. (Note: the following describes a Slackware 3.3 setup
but the procedure should give the rest of you a start.) Firstly you
must amend the file 'hosts.equiv' on the "backup" machine (i.e. the
one you are going to back-up the files to) to allow users to 'rlogin'
(see the man page for 'rlogin') to the "backup" computer from the "main"
computer without having to supply a password. 'hosts.equiv' is found in
'/etc' (Slackware), the stock 'hosts.equiv' has one entry, 'localhost'.
Simply add the relevant name or IP address for your "main" computer (go
back and read the <STRONG>NET-3-HOWTO,</STRONG> you know you have to)
on a new line. If you have accounts (same user name) on both machines,
you are now able to 'rlogin' to the "backup" from the "main" with the
command 'rlogin&nbsp;&lt;other_computer_name&gt;' and it should not
demand a password (unless you are 'root', but you don't want to mess
around letting 'root' rlogin without a password, do you?).
<P>
Now you're cooking with gas. Make a file called 'distfile' in your
home directory on your "main" computer. Here's one I made earlier--
<P>
<BLOCKQUOTE>
<PRE>
HOSTS = ( johnny@pod )
FILES = ( ~/ )
EXCEPT = ( ~/.netscape ~/\(PROG\) ~/StarOffice-3.1 ~/.trash ~/.bash_history )
${FILES} -> ${HOSTS}
install -oremove,chknfs,younger ;
except ${EXCEPT} ;
</PRE>
</BLOCKQUOTE>
<P>
Now's the time for you to consult 'man rdist' to see what all this means.
The first three lines set variables - it is possible to give 'rdist'
command line switches to modify these, so it could be helpful when you
get more adventurous. The last three lines are commands for 'rdist'.
The 'install' command copies/deletes files/directories as specified.
The 'except' command omits the specified files/directories from
processing. (If you specify a directory it means that directory's
files and subdirectories and files.) The '->' line tells it what to
where. Note the 'host' is the "backup" computer and given of the form
'user@domain'. This should be an account you can 'rlogin' to without
needing a password (modify 'hosts.equiv' see above). If you look at
the above example, it says,
<BLOCKQUOTE>
"Copy the entire home directory to "pod," excepting the Netscape cache
directory, the trash directory, the StarOffice stuff and the .bash_history
file."
</BLOCKQUOTE>
The switches to 'install' say,
<BLOCKQUOTE>
"Remove any files on the backup that aren't on the main machine,
don't follow through NFS links, and don't update files on the backup
machine that are younger than the equivalent on the main machine."
</BLOCKQUOTE>
<STRONG>Note</STRONG> how 'remove'and 'younger' interact: 'remove'
will remove any orphan files, so 'younger' won't keep brand new files
on the backup that haven't been made on the main machine - decide what
you want! In the case of a backup to an account you don't use then
'younger' isn't really necessary. If it's an account you do use, then
don't use 'remove' but do use 'younger'.
<P>
A perusal of the 'rdist' man page should make this all clear. Having made
the 'distfile,' all you have to do to synchronize the files on your
two machines is type 'rdist' at the prompt on the "main" machine and
it will go ahead and do it all for you and tell you about it. 'rdist'
will create directories as needed, preserve permissions, ownerships etc.,
will only change files that don't match (you can alter the criteria it
uses to decide this, see the 'man' page). It is excellent! Run 'rdist'
regularly and you need never "lose" your data-files. Even better if
you back-up over the Internet to a remote location.
<P>
Now you can go back to <A HREF="../issue24/bavendiek.html">Gerd's
article</A> and see how he uses his script to keep his laptop and desktop
in synch. A study of the 'rdist' man page will make evident that 'rdist' has
great power and flexibility for the adventurous. There really is no
excuse for not backing up your work!
<P>
<hr>
<address><a href="mailto:johnny@dvc.org.uk">John Pate</a></address>
<!-- hhmts start -->
Last modified: Sat May 2 12:25:18 BST 1998
<!-- hhmts end -->
<!--===================================================================-->
<P> <hr> <P>
<center><H5>Copyright &copy; 1998, John Pate <BR>
Published in Issue 29 of <i>Linux Gazette</i>, June 1998</H5></center>
<!--===================================================================-->
<P> <hr> <P>
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./hughes.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./lg_backpage29.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P>
<!--startcut ==========================================================-->
</BODY>
</HTML>
<!--endcut ============================================================-->