root/adm/backup/backup.sh

Revision 53, 1.2 KB (checked in by xio, 10 months ago)

error echoes no use 1>&2

Line 
1#!/bin/bash
2#
3# Make backups according to $backuptab (usually /etc/backuptab).  No
4# parameters.
5#
6# $backuptab format:
7# <Block device>\t+<Target backup directory>\t+<Increments keep time>\t+<snapshot>
8#
9# For example:
10# /dev/orion/betelgeuse /srv/backup/betelgeuse          1W      1
11# /dev/sda1             /srv/backup/betelgeuse/boot     1M      0
12#
13# Feel free to copy and modify.
14# --xio
15
16# BEGIN USER-DEFINED SECTION
17backup_script="/usr/local/sbin/backup-worker.sh"
18backuptab="/etc/backuptab"
19# END USER-DEFINED SECTION
20
21if [ -x "$backup_script" ]; then
22        echo "Backup script $backup_script found."
23else
24        echo "Backup script $backup_script does not exist or not executable." 1>&2
25        exit 1
26fi
27
28if [ -r "$backuptab" ]; then
29        echo "Backuptab $backuptab is readable."
30else
31        echo "Backuptab $backuptab cannot be read." 1>&2
32        exit 1
33fi
34
35echo "Starting system backup..."
36
37# Parse $backuptab, strip comments and empty lines, call main script.
38cat "$backuptab" | grep -v '^#\|^$' | while read line; do
39        source=$( echo "$line" | awk '{print $1}' )
40        target=$( echo "$line" | awk '{print $2}' )
41        time=$( echo $line | awk '{print $3}' )
42        snapshot=$( echo $line | awk '{print $4}' )
43
44        "$backup_script" "$source" "$target" "$time" "$snapshot"
45
46        echo
47done
48
49echo "Backup done."
Note: See TracBrowser for help on using the browser.