您的位置:首页 > 数据库 > MySQL

mysql定时备份脚本

2016-07-19 10:23 519 查看
#/bin/bash
set -x
#-------------------------------------------------------------
database=CMDB
user=root
password=root
#-------------------------------------------------------------
time=$(date +%Y%m%d%H%M%S)
folder=$(ls /opt | grep -w mysqldatabase_bak)
#-------------------------------------------------------------
#database exprot
if [ $folder == mysqldatabase_bak ] ; then
mysqldump -u$user -p$password $database > /opt/mysqldatabase_bak/$database$time.sql
zip -r /opt/mysqldatabase_bak/$database$time.sql.zip /opt/mysqldatabase_bak/$database$time.sql
rm -f /opt/mysqldatabase_bak/$database$time.sql
else
mkdir /opt/mysqldatabase_bak
mysqldump -u$user -p$password $database > /opt/mysqldatabase_bak/$database$time.sql
zip -r /opt/mysqldatabase_bak/$database$time.sql.zip /opt/mysqldatabase_bak/$database$time.sql
rm -f /opt/mysqldatabase_bak/$database$time.sql
fi
#-------------------------------------------------------------
#database Periodically delete
find /opt/mysqldatabase_bak -mtime +7 -name "*.zip" -exec rm -rf {} \;
#-------------------------------------------------------------
#crontab
crontab=$(cat /var/spool/cron/root | grep mysqldatabase_bak_for_centos.sh | awk '{print $8}')
if [ $crontab == ./mysqldatabase_bak_for_centos.sh ] ; then
echo "crontab is ok!"
else
echo "1 1 * * * cd /opt/mysqldatabase_bak;bash ./mysqldatabase_bak_for_centos.sh" >> /var/spool/cron/root
fi
#-------------------------------------------------------------
#move
pwd=$(pwd)
if [ $pwd == /opt/mysqldatabase_bak ] ; then
echo "The scripts directory is ok!"
echo "The scripts directory is /opt/mysqldatabase_bak"
else
cp mysqldatabase_bak_for_centos.sh /opt/mysqldatabase_bak
rm -f mysqldatabase_bak_for_centos.sh
fi

附件:http://down.51cto.com/data/2367936
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql database password