Voor degegen die een leuk backup script zoeken, bij deze. Na enig geknutsel en overwinnen van wat eigenaardigheden (geen ftp script in if-block enzv.) is dit het eindresultaat.
Samenvatting:
6 dagen in de week wordt er een incremental backup gemaakt van een samba mount en op de server opgeslagen. Op zondag wordt er een full backup gemaakt en geupload naar een ftp.
En de bijbehorende ftp scripts:
Lever gelieve zo veel mogelijk commentaar, zodat ik dit script tot in de puntjes kan verbeteren.
MVG Björn
Samenvatting:
6 dagen in de week wordt er een incremental backup gemaakt van een samba mount en op de server opgeslagen. Op zondag wordt er een full backup gemaakt en geupload naar een ftp.
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
77
78
79
80
81
82
83
84
| #
#!/bin/bash
#
# Creates Backup of REMOTE
#
# Author: Björn Harink
#
set $(date '+ %Y %m %d %a')
TEMP="/backup/temp/"
REMOTE="/mnt/share/"
LIST="/tmp/backlist_$$.txt"
FULL=$(echo share_data_full_$1-$2-$3.tgz)
INC=$(echo share_data_diff_$1-$2-$3.tgz)
LB=$(more /backup/lastbackup)
LBFILE="/backup/lastbackup"
#
echo
echo "###################"
echo "# #"
echo "# Backup started! #"
echo "# #"
echo "###################"
echo
echo "->Creating mounts."
echo
#
mount -t smbfs //host/share /mnt/share -o username=administrator,password=******
#
echo
echo "->Backing up..."
echo
#
if test "$4" = "Mon" ; then
if test "$FULL" = "$LB"; then
echo "#############################"
echo "# #"
echo "# Already made full backup! #"
echo "# Exiting! #"
echo "# #"
echo "#############################"
umount /mnt/share
exit 0
fi
echo "->...making full backup..."
cp -r $REMOTE $TEMP
tar cfz "/backup/share/$FULL" $TEMP
echo "->...uploading full backup..."
cd /backup/share
echo "->...upload complete."
rm -f -r $TEMP*
rm -f /backup/share/$LB
rm -f /backup/share/paradocs_data_diff*
bash /scripts/ftp1
echo $FULL >$LBFILE
bash /scripts/ftp2
else
echo
echo "->...making incremental backup."
echo
find $REMOTE -depth -type f \( -ctime -1 -o -mtime -1 \) -print > $LIST
# cp "$LIST" $TEMP
tar cfzT "/backup/share/$INC" "$LIST"
# rm -f -r $TEMP*
rm -f "$LIST"
fi
#
# echo
# echo "->Backing up databases."
# echo
# mysqldump -u root --password=****** --opt mydb > "/backup/databases/shareforum_$6-$2-$3.sql"
# gzip "/mnt/backup/database/mydb_$1-$2-$3.sql"
#
echo
echo "->Finishing up."
echo
echo "->Unmounting dirs."
umount /mnt/share
echo
echo "####################"
echo "# #"
echo "# Backup finished! #"
echo "# #"
echo "####################"
echo |
En de bijbehorende ftp scripts:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| DEL=$(more /backup/lastbackup) ftp -n ftp.nl <<** user anom ****** dele $DEL bye ** UP=$(more /backup/lastbackup) ftp -n ftp.nl <<** user anom ***** put $UP bye ** |
Lever gelieve zo veel mogelijk commentaar, zodat ik dit script tot in de puntjes kan verbeteren.
MVG Björn
Del XPS 13