backupscript laatste 4 backup's bewaren?

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

  • JVaags
  • Registratie: Juni 2001
  • Laatst online: 08-01-2025

JVaags

Je voelt je beter in een 504

Topicstarter
Hoi,

ik heb een backup script lopen op mijn server die nu dmv CRON op zondag en donderdag nacht loopt en een kopie maakt van een aantal mappen. In de huidige situatie overschrijft hij de oude backup door de recente versie.

Graag zou ik het willen zien dat hij bijvoorbeeld bij de configuratie backup een aantal oude versies bewaard. Hoe kan ik dat mogelijk maken?

code:
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Backup script
# Dit script wordt wekelijks gedraaid en maakt een kopie naar de 2e
# harddisk aanwezig in de server.
# Na de backup wordt de harddisk geunmound en in sleep mode gezet.

# zet variabelen
log=/data/users/jeroen/backup.log$(date +%Y%m%d).txt

# begin aanmaken log bestand
touch $log
chown jeroen:smbusers $log
chmod 700 $log

echo Logbestand backup van grotesmurf. >>$log
echo Logbestand is: $log >>$log
echo ------------------------------------------ >>$log
tijd=$(date)
echo $tijd Backup gestart >>$log
echo >>$log

# mount backup disk
echo Mount backup disk >>$log
mount /backup

# we gaan tarren
echo Start tar commandos >>$log

tijd=$(date)
echo $tijd /backup/users.tar.gz >>$log
tar cfvz /backup/users.tar.gz /data/users >/dev/null
tar tfvz /backup/users.tar.gz > /backup/users.list.txt

tijd=$(date)
echo $tijd /backup/etc.tar.gz >>$log
tar cfvz /backup/etc.tar.gz /etc >/dev/null
tar tfvz /backup/etc.tar.gz > /backup/etc.list.txt

tijd=$(date)
echo $tijd /backup/jeroen_home.tar.gz >>$log
tar cfvz /backup/jeroen_home.tar.gz /home/jeroen >/dev/null
tar tfvz /backup/jeroen_home.tar.gz > /backup/jeroen_home.list.txt

tijd=$(date)
echo $tijd /backup/web.tar.gz >>$log
tar cfvz /backup/web.tar.gz /data/web >/dev/null
tar tfvz /backup/etc.tar.gz > /backup/web.list.txt

tijd=$(date)
echo $tijd /backup/webwww.tar.gz >>$log
tar cfvz /backup/webwww.tar.gz /data/webwww >/dev/null
tar tfvz /backup/etc.tar.gz > /backup/webwww.list.txt

tijd=$(date)
echo $tijd /backup/phpbb.tar.gz >>$log
tar cfvz /backup/phpbb.tar.gz /var/lib/mysql/phpbb >/dev/null
tar tfvz /backup/phpbb.tar.gz > /backup/phpbb.list.txt

# einde log bestand
echo >>$log
ls -l /backup >>$log
echo >>$log
df /backup >>$log
echo >>$log

# umount backup disk
echo Umount backup disk >>$log
umount /backup

# harddisk terug in slaap stand
echo Even 10 seconden wachten en daarna harddisk terug in slaapstand >>$log
sleep 10
/sbin/hdparm -y /dev/hdg

tijd=$(date)
echo $tijd Backup gestopt >>$log
echo ------------------------------------------ >>$log


En dan nog een vraag maar hier moet ik ook nog ff wat research voor doen:
in msdos had je de welbekend errorcodes... heeft tar ook zoiets? En zo ja hoe werkt dat?

  • x-force
  • Registratie: Maart 2001
  • Laatst online: 05-01-2024
Wanneer je een commando uitvoert zit in $? de trurncode van het commando dus daarmee kan je aan de slag.

Met ls kun je vast wel sorteren op datum en dan de bovenste/onderste verwijderen (nadat je nieuwe backup is gelukt)

Ps zie : http://www.tldp.org/LDP/abs/html/

VangenopBetaalwater.nl Het platform om ervaringen over betaalwater in Frankrijk te delen met andere karpervissers zodat iedereen kan vangen op betaalwater!


  • mcl
  • Registratie: September 2003
  • Laatst online: 05:28

mcl

Ik gebruik iets dat gebaseerd is op wat hier beschreven staat. Ik heb er zelf nog wat dingetjes aan toegevoegd, zoals een configuratie-file waarin je het aantal snapshots en een lijst met directories kunt opgeven welke geback-upped moeten worden.
Het mooie van deze oplossing is dat je bijvoorbeeld 4 versies terug kan, terwijl het je niet 4x zoveel schijfruimte kost.