]>
git.wh0rd.org - dump.git/blob - examples/cron_dump_to_disk/backup
3 # This script will make a simple backup of the most critical partitions,
4 # using the "dump" facility, into the backup partition. It will stop the
5 # webserver, and recurse the sites directories making a tar mini-backup of
6 # the database dirs. It will the restart the webserver, and start the
10 if [ "$2" = "nodumpdate" ]; then
16 if [ "$1" = "full" ]; then
20 elif [ "$1" = "inc" ]; then
25 echo "Usage: $0 full|inc [nodumpdate]"
31 # Configuration Parameters
34 BACKUPPART
=${BACKUPPART:-"/backup"}
35 BACKUPDIR
=${BACKUPDIR:-"current"}
36 DUMPLOGARCH
="$BACKUPPART/backup.dump.log.gz"
37 FSTODUMP
=${FSTODUMP:-/ /var /home /mnt/hdb1 /usr}
39 DUMPFILESOWN
="root.root"
46 echo "#####################################################################"
47 echo "Starting ${BACKUP} backup."
48 echo "#####################################################################"
56 echo "### ${BACKUP} System Dump Backup ###"
57 echo "Using backup partition: $BACKUPPART"
58 echo "Filesystems to dump: $FSTODUMP"
60 echo -n "Remounting backup partition read-write ... "
61 if ( mount
$BACKUPPART -o remount
,rw
&> /dev
/null
) then
65 echo " There were problems remounting $BACKUPPART in read-write mode!"
66 echo "Aborting ${BACKUP} System Dump Backup."
68 echo "-------------------------------------------------------------------------------"
72 echo -n "Checking backup partition for correct dir structure ... "
73 if [ -d $BACKUPPART/$BACKUPDIR -a -w $BACKUPPART/$BACKUPDIR ]; then
76 echo -n "Checking backup partition for available space ... "
77 SREQ
=`for i in $FSTODUMP;do dump -$DLEVEL -S $i 2> /dev/null;done|awk '{x=x+$1/1048576} END {printf "%6.0f\n", x}'`
78 SAVAILFREE
=`df --block-size=1048576 |grep -Ew $BACKUPPART|awk '{printf "%6.0f\n", $4}'`
79 SAVAILDEL
=`du -s --block-size=1048576 $BACKUPPART/$BACKUPDIR/. |awk '{printf "%6.0f\n", $1}'`
80 SAVAIL
=`expr $SAVAILFREE + $SAVAILDEL`
82 if [ `expr $SAVAIL - $SREQ` -gt "0" ]; then
84 echo "Available: $SAVAIL MB Required: $SREQ MB."
86 echo "no enough space!"
87 echo "There is not enough space left in $BACKUPPART for the backup!"
88 echo "Available: $SAVAIL MB Required: $SREQ MB."
89 echo -n "Remounting backup partition read-only ... "
90 if ( mount
$BACKUPPART -o remount
,ro
&> /dev
/null
) then
94 echo "There were problems remounting $BACKUPPART in read-only mode!"
95 echo "Aborting ${BACKUP} System Dump Backup."
97 echo "-------------------------------------------------------------------------------"
100 echo "Aborting ${BACKUP} System Dump Backup."
102 echo "-------------------------------------------------------------------------------"
106 echo -n "Deleting old files ... "
107 if [ `ls -la $BACKUPPART/$BACKUPDIR/|wc -l` -gt "3" ]; then
108 rm -f $BACKUPPART/$BACKUPDIR/* &> /dev
/null
111 echo "no old files to delete."
114 echo "Dumping filesystems ... "
117 if [ "$FS" = "/" ]; then
120 FSNAME
=`echo $FS|tr / _|cut -b 2-`
123 echo -n "Starting dump of $FSNAME ( $FS ) ... "
124 if ( dump
-$DLEVEL $UPDATEDDATE -z -M -s 27306 -f $BACKUPPART/$BACKUPDIR/$FSNAME.
$BTYPE.
$FS &> $BACKUPPART/$BACKUPDIR/$FSNAME.log
) then
128 echo "There where problems with the dump of $FSNAME ( $FS )."
129 echo "Check logfile $BACKUPPART/$BACKUPDIR/$FSNAME.log for more info"
130 echo "Also check log archive file $DUMPLOGARCH."
132 cat $BACKUPPART/$BACKUPDIR/$FSNAME.log |
gzip >> $DUMPLOGARCH
133 echo "-------------------------------------------------------------------------------" |
gzip >> $DUMPLOGARCH
136 echo -n "Setting ownership and permissions of dump files ... "
137 chmod $DUMPFILESMODE $BACKUPPART/$BACKUPDIR/* $DUMPLOGARCH &> /dev
/null
138 chown
$DUMPFILESOWN $BACKUPPART/$BACKUPDIR/* $DUMPLOGARCH &> /dev
/null
141 echo -n "Compressing dump log files ... "
142 gzip $BACKUPPART/$BACKUPDIR/*.log
&> /dev
/null
148 echo "There are problems with the directory structure."
149 echo "Check dirs: $BACKUPPART/$BACKUPDIR"
150 echo -n "Remounting backup partition read-only ... "
151 if ( mount
$BACKUPPART -o remount
,ro
&> /dev
/null
) then
155 echo "There were problems remounting $BACKUPPART in read-only mode!"
156 echo "Aborting ${BACKUP} System Dump Backup."
158 echo "-------------------------------------------------------------------------------"
161 echo "Aborting ${BACKUP} System Dump Backup."
163 echo "-------------------------------------------------------------------------------"
167 echo -n "Remounting backup partition read-only ... "
168 if ( mount
$BACKUPPART -o remount
,ro
&> /dev
/null
) then
172 echo "There were problems remounting $BACKUPPART in read-only mode!"
173 echo "Aborting ${BACKUP} System Dump Backup."
175 echo "-------------------------------------------------------------------------------"
179 echo "### End of ${BACKUP} System Dump Backup ###"
181 echo "-------------------------------------------------------------------------------"