summaryrefslogtreecommitdiff
path: root/scripts/backup.cron
blob: 0f12cab6e3a7ec08f24ce13959e57e851247f0a8 (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
#!/bin/bash

basedir="/var/backup"
prefix="daily"
count="25"
list="dirs.list"

echo mount -o remount,rw ${basedir}
mount -o remount,rw ${basedir}

last=${basedir}/${prefix}.${count}
if [ -d ${last} ]; then
	echo rm -r ${last}
	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
			echo cp -rl ${src} ${dest}
			cp -rl ${src} ${dest}
		else
			echo mv ${src} ${dest}
			mv ${src} ${dest}
		fi
	else
		echo mkdir ${dest}
		mkdir ${dest}
	fi
done

for src in `cat ${basedir}/${list}`; do
	dest=${basedir}/${prefix}.0${src}
	if [ ! -d ${dest} ]; then
		echo mkdir -p ${dest}
		mkdir -p ${dest}
	fi
	echo rsync -avx --delete ${src} ${dest}
	rsync -avx --delete ${src} ${dest}
done

echo mount -o remount,ro ${basedir}
mount -o remount,ro ${basedir}