#!/bin/bash
id="root"
pwd="root"
databases="vsftpd test "
backupdir="/home/mysqldatabak"
day=15
[ ! -d $backupdir ] && mkdir -p $backupdir
cd $backupdir
backupname=$(date +%Y-%m-%d)
for db in $databases;
do
mysqldump -u$id -p$pwd -S /var/lib/mysql/mysql.sock $db >$backupname_$db.sql
if [ "$?" == "0" ]
then
echo $(date +%Y-%m-%d)" $db mysqldump sucess">>mysql.log
else
echo $(date +%Y-%m-%d)" $db mysql dump failed">>mysql.log
exit 0
fi
done
for db in $databases;
do
tar -czf $db.$backupname.tar.gz $db.sql
done
if [ "$?" == "0" ]
then
echo $(date +%Y-%m-%d)" tar sucess">>mysql.log
else
echo $(date +%Y-%m-%d)" tar failed">>mysql.log
exit 0
fi
rm -f *.sql
delname=mysql_$(date -d "$day day ago" +%Y-%m-%d).tar.gz
rm -f $delname
user='root'
passwd=''
database=test
nowtime=`date +%m-%d"-"%H:%M`
host=localhost
log=/var/log/mysqlbackup.log
backup_dir=/data/backup/
dump_command=/usr/local/mysql/bin/mysqldump
backup_file=/data/backup/$database-${nowtime}.sql
if [ ! -d "$backup_dir" ];then
mkdir $backup_dir
fi
if [ ! -f "$log" ];then
touch $log
fi
echo "Start to backup at $(date +%Y%m%d%H%M)" >> $log
$dump_command -u$user -p$passwd -h $host --opt --lock-all-tables --flush-logs --master-data=2 --databases $database|gzip > $backup_file.gz
if [ $? -eq 0 ];then
echo "Backup is finish! at $(date +%Y%m%d%H%M)" >> $log
exit 0
else
echo "Backup is Fail! at $(date +%Y%m%d%H%M)" >> $log
exit 1
fi