数据库每天都想备份,手动备份太麻烦而又容易忘记,所以写了一个自动备份MySQL数据库的脚本,加入定时计划中,每天自运运行。
创建Shell脚本代码如下,命名为mysql_dump.sh
#!/bin/bash if [ "$1" = "" ] then echo "database name is not set!" else id="root" #用户名 pwd="123456" #密码 db=$1 #数据库名字 backup_path="/home/backup/mysql/$db" #保存备份的位置。 #timestamp=$(date +%Y-%m-%d_%H-%M-%S) timestamp=$(date +%Y%m%d%H%M%S) [ ! -d $backup_path ] && mkdir -p $backup_path #判断备份目录是否存在,不存在时新建目录。 cd $backup_path mysqldump -u$id -p$pwd -S /tmp/mysql.sock $db > $db"_"$timestamp.sql #备份单个数据库为.sql文件,放到当前位置。 fi
在Linux定时计划crontab中,加入以下代码,每天凌晨3点自动备份emis_system数据库:
0 3 * * * sh /home/shell/mysql_dump.sh emis_system