1 |
Auch ganz nett ist imho darbackup aus dem sunrise overlay. Es basiert |
2 |
wie der Name schon sagt auch auf dar. |
3 |
* Archivgrößen sind einstellbar, |
4 |
* Transfer zu einem entfernten host per ssh ist möglich. |
5 |
* Außerdem kann der nötige Speicherplatz durch den Einsatz von |
6 |
xdelta/bdelta noch verringert werden. |
7 |
* Zu alte Archive werden automatisch aufgeräumt. |
8 |
Kompression und includes/Excludes sind sehr flexibel einstellbar. |
9 |
|
10 |
viele Grüße |
11 |
|
12 |
Christof |
13 |
|
14 |
Am Sonntag, den 11.02.2007, 12:30 +0100 schrieb Oliver Jaksch: |
15 |
> Woll, ich verwende hierfür "dar" und "openvpn". Auf "openvpn" möchte ich |
16 |
> an dieser Stelle nicht eingehen, dafür gibt es z.B. |
17 |
> http://de.gentoo-wiki.com/Openvpn . |
18 |
> |
19 |
> Das folgende Skript ist ein "fire & forget"-Skript; weder dokumentiert, |
20 |
> noch wirklich zu Ende gebracht. So fehlt z.B. eine Fehlerbehandlung. |
21 |
> Dafür ist es handlich, erklärt sich fast von selbst ;) , verpackt alles |
22 |
> in DVD-handliche 2GB-Häppchen und wenn man es richtig steuert, bekommt |
23 |
> man ein prima "Master-Backup" samt differentiellen Sicherungen zzgl. |
24 |
> Info-Mail. |
25 |
> |
26 |
> Für Fragen, Ideen und Verbesserungsvorschläge stehe ich gerne zur |
27 |
> Verfügung... :) |
28 |
> |
29 |
> - |
30 |
> Oliver |
31 |
> |
32 |
> ------------------------------------------------------------------------ |
33 |
> SCHNIPP |
34 |
> ------------------------------------------------------------------------ |
35 |
> |
36 |
> #!/bin/sh |
37 |
> source /etc/profile |
38 |
> |
39 |
> # see also: |
40 |
> http://dar.linux.free.fr/doc/mini-howto/dar-differential-backup-mini-howto.en.html |
41 |
> |
42 |
> # required: |
43 |
> # |
44 |
> # app-backup/dar |
45 |
> # net-mail/email |
46 |
> |
47 |
> TYP=${1} |
48 |
> MOUNT="/mnt/backup" |
49 |
> DST="${MOUNT}/${HOSTNAME}" |
50 |
> FULLNAM="full-backup-mails" |
51 |
> DIFFNAM="diff-backup-mails-`date +%w`" |
52 |
> DATUM=`date +%x` |
53 |
> TIMESTART=`date +%s` |
54 |
> |
55 |
> function MOUNT { |
56 |
> mount /boot |
57 |
> mount -t nfs 192.168.100.5:/shares/backup ${MOUNT} -o |
58 |
> rsize=65535,wsize=65535 |
59 |
> if ! test -a ${DST}; then mkdir ${DST}; fi |
60 |
> } |
61 |
> |
62 |
> function UMOUNT { |
63 |
> umount ${MOUNT} /boot |
64 |
> } |
65 |
> |
66 |
> function MAIL { |
67 |
> tail -n 14 ${1} > /tmp/log.txt |
68 |
> TIMESTOP=`date +%s` |
69 |
> DURATION=$(( $((TIMESTOP-TIMESTART)) /60 )) |
70 |
> echo >> /tmp/log.txt |
71 |
> echo Dauer des Backups: ${DURATION} Minuten.>> /tmp/log.txt |
72 |
> email -q -b \ |
73 |
> -r 192.168.100.2 \ |
74 |
> -n Mailserver \ |
75 |
> -f mailserver@××××××××××××××.de \ |
76 |
> -s "Status des ${TYP}-Backups vom ${DATUM}" \ |
77 |
> empfaenger@××××××××××××××.de \ |
78 |
> -bcc empfaenger2@×××××××××××××××.de \ |
79 |
> < /tmp/log.txt |
80 |
> cp /tmp/log.txt ${MOUNT}/log/${HOSTNAME}-${DATUM}.log |
81 |
> rm ${1} /tmp/log.txt |
82 |
> } |
83 |
> |
84 |
> DAR="dar \ |
85 |
> -v |
86 |
> -m 256 \ |
87 |
> -y \ |
88 |
> -s 2040M \ |
89 |
> -D \ |
90 |
> -R / \ |
91 |
> -Z \"*.bz2\" -Z \"*.zip\" -Z \"*.png\" -Z \"*.iso\" \ |
92 |
> -P vmware |
93 |
> " |
94 |
> |
95 |
> FULL="${DAR} \ |
96 |
> -c ${DST}/${FULLNAM} |
97 |
> " |
98 |
> |
99 |
> DIFF="${DAR} \ |
100 |
> -c ${DST}/${DIFFNAM} \ |
101 |
> -A ${DST}/${FULLNAM} |
102 |
> " |
103 |
> |
104 |
> if [ "${TYP}" = "" ] || [ "${TYP}" = "-h" ]; then |
105 |
> echo "Specify \"full\" for full backup or \"diff\" for differential |
106 |
> backup. Easy, huh?" |
107 |
> echo |
108 |
> exit |
109 |
> fi |
110 |
> if [ "${TYP}" = "full" ]; then |
111 |
> MOUNT |
112 |
> if ! test -a ${DST}/old; then mkdir ${DST}/old; fi |
113 |
> rm -f ${DST}/old/* |
114 |
> mv -f ${DST}/????-backup-mails* ${DST}/old/ |
115 |
> ${FULL} > /tmp/${FULLNAM}-log.txt |
116 |
> MAIL /tmp/${FULLNAM}-log.txt |
117 |
> UMOUNT |
118 |
> fi |
119 |
> if [ "${TYP}" = "diff" ]; then |
120 |
> MOUNT |
121 |
> ${DIFF} > /tmp/${DIFFNAM}-log.txt |
122 |
> MAIL /tmp/${DIFFNAM}-log.txt |
123 |
> UMOUNT |
124 |
> fi |
125 |
> |