blob: 5c49b1a4a23256281d94df93aee79448c69dd480 (
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
50
51
52
53
54
55
56
57
58
59
60
|
#!/bin/bash
basedir="/var/backup"
prefix="daily"
count="25"
list="dirs.list"
(
mountpoint -q $basedir && umount $basedir
fsck -y /dev/data/backup
mount ${basedir}
echo "Start @ `date`" > ${basedir}/time
last=${basedir}/${prefix}.${count}
if [ -d ${last} ]; then
rm -r ${last}
fi
for n in `seq ${count} -1 1`; do
((m=$n - 1))
src=${basedir}/${prefix}.$m
dest=${basedir}/${prefix}.$n
if [ -d ${src} ]; then
if [ ${m} -eq 0 ]; then
cp -rl ${src} ${dest}
else
mv ${src} ${dest}
fi
else
mkdir ${dest}
fi
done
for src in `cat ${basedir}/${list}`; do
dest=${basedir}/${prefix}.0/${src}
if [ ! -d ${dest} ]; then
mkdir -p ${dest}
fi
rsync -ax --delete ${src} ${dest}
done
echo "Begin MySQL @ `date`" >> ${basedir}/time
rm -f ${basedir}/${prefix}.0/mysql.sql.xz
mysqldump -uroot -pne65dq -xA | xz > ${basedir}/${prefix}.0/mysql.sql.xz
echo "Begin LDAP @ `date`" >> ${basedir}/time
rm -f ${basedir}/${prefix}.0/ldap.ldif.xz
ldapsearch | xz > ${basedir}/${prefix}.0/ldap.ldif.xz
echo "Begin PostgreSQL @ `date`" >> ${basedir}/time
rm -f ${basedir}/${prefix}.0/postgresql-gentoo.sql.xz
pg_dump -Upostgres gentoo -N _gentoo | xz > ${basedir}/${prefix}.0/postgresql-gentoo.sql.xz
rm -f ${basedir}/${prefix}.0/postgresql-bugzilla.sql.xz
pg_dump -Upostgres bugzilla | xz > ${basedir}/${prefix}.0/postgresql-bugzilla.sql.xz
echo "End @ `date`" >> ${basedir}/time
umount ${basedir}
) | tee /var/log/backup.log
|