11.7 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).



Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0