Go to TogaWare.com Home Page. GNU/Linux Desktop Survival Guide
by Graham Williams
Duck Duck Go

Backup To Other Computers

Consider the situation of a collection of Debian boxes with no backup facilities as such, but there is an accessible machine with a proper backup regime. Access to the backed up machine is via ssh. The backup can be performed using a backup script which you create in /etc/cron.daily so that it will be executed each day (by default, 6:25am). The contents of the script are:

  #!/bin/sh
  #
  # Script for /etc/cron.daily
  #

  LOGFILE="/root/BACKUP.log"
  RSYNC="/usr/bin/rsync"
  DEST="kayon@caravan.togaware.com:backup/$(/bin/hostname)"
  OPTS="--rsh=ssh --cvs-exclude --archive --compress "
  OPTS=${OPTS}"--delete --delete-excluded --verbose"
  INCFILE="/etc/backup.include"

  echo "===================================================" >> ${LOGFILE}
  date >> ${LOGFILE}
  echo "$RSYNC $OPTS --include-from ${INCFILE} / ${DEST}" >> ${LOGFILE}

  $RSYNC ${TESTING} $OPTS --include-from ${INCFILE} / ${DEST} >> ${LOGFILE}

  date >> ${LOGFILE}
  echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${LOGFILE}

The file /etc/backup.include might contain:

  #
  # Identify specific file types to exclude
  #
  - *.mp3
  - *.rpm
  - *.deb
  - *.wav
  - *.avi
  - *.mov
  - *.temp
  - *.tmp
  - *.cdr
  #
  # Exclude paths that contain
  #
  - .thumbnails
  - .xvpics
  - cache
  - skins
  - thumbnails
  #
  # Now specify specific trees to back up
  #
  + /etc
  + /home
  + /root
  + /usr/local
  + /var/mail
  + /var/backups
  #
  # And exclude everything else
  #
  - /*

Since this is using ssh (OpenSSH, ssh protocol 2) and it is a cron job (i.e., you can not supply a password or passphrase), create a ssh public key for adding to kayon@caravan's authorized keys file:

  modena# ssh-keygen -t dsa -N ""

  Generating public/private dsa key pair. 
  Enter file in which to save the key (/root/.ssh/id_dsa): 
  Your identification has been saved in /root/.ssh/id_dsa. 
  Your public key has been saved in /root/.ssh/id_dsa.pub. 
  The key fingerprint is:
  ce:b3:e5:82:ab:72:3d:50:2e:96:65:e0:15:a3:4e:de root@velox

  modena# scp .ssh/id_dsa.pub kayon@caravan.togaware.com:.ssh/authorized_keys.n
  modena# ssh kayon@caravan

  caravan$ cd .ssh
  caravan$ cat authorized_keys.n >> authorized_keys
  caravan$ rm authorized_keys.n
  caravan$ exit

Then the ssh connections will go straight through to kayon@caravan without the need to supply a password (or passphrase).


Support further development by purchasing the PDF version of the book.
Other online resources include the Data Science Desktop Survival Guide.
Books available on Amazon include Data Mining with Rattle and Essentials of Data Science.
Popular open source software includes rattle and wajig.
Hosted by Togaware, a pioneer of free and open source software since 1984.
Copyright © 1995-2020 Togaware Pty Ltd. . Creative Commons ShareAlike V4.