数据库备份脚本

1.编写脚本文件

注意,如果在windows下编写,由于换行等字符的不同,在unix下可能会报错。

#!/bin/bash
#设置mysql备份目录
folder=/path/home/backup/mysql
cd $folder
day=`date +%Y%m%d`
rm -rf $day
mkdir $day
cd $day
#数据库服务 ip
host=localhost
#用户名
user=backup
#密码  #&这些需要转义加\
password=pwd
#要备份的数据库
dbs=(db1 db2 db3)
#需要备份的 tables 
echo "===============   开始备份..at `date '+%Y-%m-%d %H:%M:%S'`=="
# 遍历备份的数据库表
for db in ${dbs[@]}
do
  backup_file="${db}.sql"
if [ ! -e "$backup_file" ];
then
    rm -f "$backup_file"
fi
   # 最核心的就是这句话,使用mysqldump命令执行备份
   # $db $t  数据库  相应的表
   mysqldump -h${host} -u${user} -p${password}  $db >$backup_file
done
finish_date=`date '+%Y-%m-%d %H:%M:%S'`
echo "================  结束备份...at ${finish_date}.==="
#数据要保留的天数
days=10
cd ..
day=`date -d "$days days ago" +%Y%m%d`
#删除 相应的文件
rm -rf $day

2.给脚本授权

     chmod +x database_backup_shell.sh

3.编写定时执行脚本命令

    执行命令:crontab -e   

    添加定时脚本:0 3 * * * /data/mysql.sh

4.查看定时任务

         命令:crontab -l

5.删除所有的任务

crontab -r

你可能感兴趣的:(数据库备份脚本)