blob: a505d16c9632ba802e694a54b72c67fb0ce3da16 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/bin/bash
LEVEL='0'
PROG_NAME="$(basename $0)"
XFSDUMP='/usr/bin/xfsdump'
DESTINATION="/backup"
SESSION_LABEL="weekly"
MEDIA_LABEL="root-fs"
FILESYSTEM="/"
usage() {
printf "Usage: %s (--weekly | --daily | --hourly) [--file-system=fs] [--help]\n" $PROG_NAME > /dev/stderr
}
while [[ $# -gt 0 ]]; do
case $1 in
--weekly)
LEVEL='0'
SESSION_LABEL="weekly"
;;
--daily)
LEVEL='1'
SESSION_LABEL="daily"
;;
--hourly)
LEVEL='2'
SESSION_LABEL="hourly"
;;
--file-system=*)
FILESYSTEM=$(echo $1 | sed "s|--file-system=||g")
;;
--help)
usage
exit 1
;;
*)
printf "Error: Unknown flag '%s'\n" $1 > /dev/stderr
usage
exit 1
;;
esac
shift
done
DESTINATION="$DESTINATION/backup-$(date +'%Y-%m-%d-%H_%M_%S').$LEVEL.dump"
$XFSDUMP -l $LEVEL -L $SESSION_LABEL -M $MEDIA_LABEL -f $DESTINATION $FILESYSTEM
|