mirror of
https://github.com/MrUnknownDE/netstack-backuptools-bash.git
synced 2026-04-17 13:53:52 +02:00
code tidied up
This commit is contained in:
151
backuptool.sh
151
backuptool.sh
@@ -24,184 +24,159 @@ date2=$(date +%A" "%d.%m.%Y) # Datum für E-Mail
|
|||||||
|
|
||||||
################# CONFIG END #################
|
################# CONFIG END #################
|
||||||
|
|
||||||
#Clear mailtext
|
# Set PATH
|
||||||
|
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
|
# Clear mailtext
|
||||||
echo " " > $mailtext;
|
echo " " > $mailtext;
|
||||||
|
|
||||||
#Aktuelles Datum
|
# Aktuelles Datum
|
||||||
echo "#############################################################" >> $mailtext
|
echo "#############################################################" >> $mailtext
|
||||||
echo "MYSQL Backup Script from $hostname - "$date2 >> $mailtext
|
echo "MYSQL Backup Script from $hostname - "$date2 >> $mailtext
|
||||||
echo "#############################################################" >> $mailtext
|
echo "#############################################################" >> $mailtext
|
||||||
echo "" >> $mailtext
|
echo "" >> $mailtext
|
||||||
|
|
||||||
# Check Backupdir
|
# Check Backupdir
|
||||||
if test -d $backupdir
|
if test -d $backupdir; then
|
||||||
then
|
|
||||||
echo "";
|
echo "";
|
||||||
else
|
else
|
||||||
echo -n "Create Backupdirectory ... " >> $mailtext
|
echo -n "Create Backupdirectory ... " >> $mailtext
|
||||||
mkdir $backupdir
|
mkdir -p $backupdir
|
||||||
if test -d $backupdir
|
if test -d $backupdir; then
|
||||||
then
|
echo "done" >> $mailtext
|
||||||
echo -n "done" >> $mailtext
|
echo "" >> $mailtext
|
||||||
echo "\n" >> $mailtext
|
|
||||||
else
|
else
|
||||||
echo -n "Error - Cant create backupdirectory" >> $mailtext
|
echo "Error - Can't create backup directory" >> $mailtext
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check Backupdir for mysql
|
# Check Backupdir for mysql
|
||||||
if test -d $backupdir/mysql
|
if test -d $backupdir/mysql; then
|
||||||
then
|
|
||||||
echo "";
|
echo "";
|
||||||
else
|
else
|
||||||
echo -n "Create Backupdirectory for mysql ... " >> $mailtext
|
echo -n "Create Backupdirectory for mysql ... " >> $mailtext
|
||||||
mkdir $backupdir/mysql
|
mkdir -p $backupdir/mysql
|
||||||
if test -d $backupdir/mysql
|
if test -d $backupdir/mysql; then
|
||||||
then
|
echo "done" >> $mailtext
|
||||||
echo -n "done" >> $mailtext
|
echo "" >> $mailtext
|
||||||
echo "\n" >> $mailtext
|
|
||||||
else
|
else
|
||||||
echo -n "Error - Cant create backupdirectory for mysql" >> $mailtext
|
echo "Error - Can't create backup directory for mysql" >> $mailtext
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check Backupdir for files
|
# Check Backupdir for files
|
||||||
if test -d $backupdir/files
|
if test -d $backupdir/files; then
|
||||||
then
|
|
||||||
echo "";
|
echo "";
|
||||||
else
|
else
|
||||||
echo -n "Create Backupdirectory for files ... " >> $mailtext
|
echo -n "Create Backupdirectory for files ... " >> $mailtext
|
||||||
mkdir $backupdir/files
|
mkdir -p $backupdir/files
|
||||||
if test -d $backupdir/files
|
if test -d $backupdir/files; then
|
||||||
then
|
echo "done" >> $mailtext
|
||||||
echo -n "done" >> $mailtext
|
echo "" >> $mailtext
|
||||||
echo "\n" >> $mailtext
|
|
||||||
else
|
else
|
||||||
echo -n "Error - Cant create backupdirectory for files" >> $mailtext
|
echo "Error - Can't create backup directory for files" >> $mailtext
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Start Files backup #
|
# Start Files backup #
|
||||||
######################
|
######################
|
||||||
|
|
||||||
#count datadir's from config
|
# count datadir's from config
|
||||||
countdir=${#datadir[*]};
|
countdir=${#datadir[*]}
|
||||||
|
|
||||||
for (( j=0; j<$countdir; j++ ))
|
for (( j=0; j<$countdir; j++ )); do
|
||||||
do
|
# reset Error Variable TODO Error handling
|
||||||
#reset Error Variable TODO Error handling
|
error="0"
|
||||||
error="0";
|
|
||||||
filesdir=${datadir[$j]}
|
filesdir=${datadir[$j]}
|
||||||
#echo "";
|
# make backup from files dir
|
||||||
#make backup from files dir
|
|
||||||
name=$(basename $filesdir)
|
name=$(basename $filesdir)
|
||||||
echo -n "make backup from $filesdir ..." >> $mailtext
|
echo -n "make backup from $filesdir ..." >> $mailtext
|
||||||
tar -Pczf $backupdir/files/$name'_'$date1.tar.gz $filesdir
|
tar -Pczf $backupdir/files/$name'_'$date1.tar.gz $filesdir
|
||||||
if [ $? == "0" ]
|
if [ $? -eq 0 ]; then
|
||||||
then
|
echo "done" >> $mailtext
|
||||||
echo -n " done" >> $mailtext
|
echo "" >> $mailtext
|
||||||
echo "\n" >> $mailtext
|
|
||||||
else
|
else
|
||||||
echo -n " error" >> $mailtext
|
echo "error" >> $mailtext
|
||||||
echo "\n" >> $mailtext
|
echo "" >> $mailtext
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Start MYSQL Backup #
|
# Start MYSQL Backup #
|
||||||
######################
|
######################
|
||||||
|
|
||||||
#clear mysql checkfile
|
# clear mysql checkfile
|
||||||
echo "" > /tmp/mysqlcheck
|
echo "" > /tmp/mysqlcheck
|
||||||
|
|
||||||
#count databaeses from config
|
# count databases from config
|
||||||
count=${#datenbank[*]};
|
count=${#datenbank[*]}
|
||||||
|
|
||||||
for (( i=0; i<$count; i++ ))
|
|
||||||
do
|
|
||||||
#reset Error Variable
|
|
||||||
dumperror="0";
|
|
||||||
|
|
||||||
|
for (( i=0; i<$count; i++ )); do
|
||||||
|
# reset Error Variable
|
||||||
|
dumperror="0"
|
||||||
db=${datenbank[$i]}
|
db=${datenbank[$i]}
|
||||||
echo " ";
|
|
||||||
# Check MYSQL DB
|
# Check MYSQL DB
|
||||||
echo -n "Check Mysql Database: \"$db\" ... " >> $mailtext
|
echo -n "Check Mysql Database: \"$db\" ... " >> $mailtext
|
||||||
mysqlcheck -s -u$dbuser -p$dbpass $db >> /tmp/mysqlcheck
|
mysqlcheck -s -u$dbuser -p$dbpass $db >> /tmp/mysqlcheck
|
||||||
|
|
||||||
if [ $? == "0" ]
|
if [ $? -eq 0 ]; then
|
||||||
then
|
|
||||||
mysqlcheck=$(cat /tmp/mysqlcheck)
|
mysqlcheck=$(cat /tmp/mysqlcheck)
|
||||||
if [ -n "$mysqlcheck" ];
|
if [ -n "$mysqlcheck" ]; then
|
||||||
then
|
echo "Error -> Details am Ende der Mail" >> $mailtext
|
||||||
echo -n " Error -> Details am Ende der Mail" >> $mailtext
|
|
||||||
echo "" >> $mailtext
|
echo "" >> $mailtext
|
||||||
else
|
else
|
||||||
echo -n " OK" >> $mailtext
|
echo "OK" >> $mailtext
|
||||||
echo "" >> $mailtext
|
echo "" >> $mailtext
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo -n " Error " >> $mailtext
|
echo "Error" >> $mailtext
|
||||||
echo "" >> $mailtext
|
echo "" >> $mailtext
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Dump MYSQL DB
|
# Dump MYSQL DB
|
||||||
echo -n "create dump for db: \"$db\" ... " >> $mailtext
|
echo -n "create dump for db: \"$db\" ... " >> $mailtext
|
||||||
mysqldump -u$dbuser -p$dbpass --opt $db > $backupdir/mysql/$db'_'$date1.sql
|
mysqldump -u$dbuser -p$dbpass --opt $db > $backupdir/mysql/$db'_'$date1.sql
|
||||||
if [ $? == "0" ]
|
if [ $? -eq 0 ]; then
|
||||||
then
|
echo "done" >> $mailtext
|
||||||
echo -n " done " >> $mailtext
|
|
||||||
sqlfile=$backupdir/mysql/$db'_'$date1.sql
|
sqlfile=$backupdir/mysql/$db'_'$date1.sql
|
||||||
echo " " >> $mailtext
|
echo "" >> $mailtext
|
||||||
else
|
else
|
||||||
echo -n " Error " >> $mailtext
|
echo "Error" >> $mailtext
|
||||||
dumperror="1";
|
dumperror="1"
|
||||||
echo " " >> $mailtext
|
echo "" >> $mailtext
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Gzip MYSQL Dump
|
# Gzip MYSQL Dump
|
||||||
echo -n "gzip dump for db: \"$db\" ... " >> $mailtext
|
echo -n "gzip dump for db: \"$db\" ... " >> $mailtext
|
||||||
if [ $dumperror == "0" ]
|
if [ $dumperror -eq 0 ]; then
|
||||||
then
|
|
||||||
gzip -f -9 $sqlfile
|
gzip -f -9 $sqlfile
|
||||||
if [ $? == "0" ]
|
if [ $? -eq 0 ]; then
|
||||||
then
|
echo "done" >> $mailtext
|
||||||
echo -n " done " >> $mailtext
|
echo "" >> $mailtext
|
||||||
echo " " >> $mailtext
|
|
||||||
else
|
else
|
||||||
echo -n " Error " >> $mailtext
|
echo "Error" >> $mailtext
|
||||||
echo " " >> $mailtext
|
echo "" >> $mailtext
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo -n " Error " >> $mailtext
|
echo "Error" >> $mailtext
|
||||||
echo " " >> $mailtext
|
echo "" >> $mailtext
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$mysqlcheck" ]; then
|
||||||
|
echo "" >> $mailtext
|
||||||
|
|
||||||
if [ -n "$mysqlcheck" ];
|
|
||||||
then
|
|
||||||
|
|
||||||
echo " " >> $mailtext
|
|
||||||
echo "##############################################################" >> $mailtext
|
echo "##############################################################" >> $mailtext
|
||||||
echo "Mysql Check Details: " >> $mailtext
|
echo "Mysql Check Details: " >> $mailtext
|
||||||
echo "##############################################################" >> $mailtext
|
echo "##############################################################" >> $mailtext
|
||||||
echo "" >> $mailtext
|
echo "" >> $mailtext
|
||||||
cat /tmp/mysqlcheck >> $mailtext
|
cat /tmp/mysqlcheck >> $mailtext
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Mailversand
|
# Mailversand
|
||||||
|
|
||||||
cat $mailtext | mail -s "$mailsubject" $email
|
cat $mailtext | mail -s "$mailsubject" $email
|
||||||
|
|
||||||
exit 0;
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user