最近要用到mysql备份,就写了shell脚本用于备份。
#!/bin/bash
#定义备份的数据库名称
database=***
#定义备份的时间
currTime=$(date +%Y%m%d)
#备份存储目录
bakUrl=/opt/$database/db/$currTime #备份文件名
databaseBakName=$database.$currTime.sql #备份文件路径
databaseBakUrl=$bakUrl/$databaseBakName #判断备份的文件夹是否存在
#这里的-d 参数判断备份存储目录是否存在
if [ ! -d $bakUrl ];
then
mkdir -p $bakUrl
fi #这里的-f参数判断备份文件是否存在
if [ ! -f $databaseBakUrl ];
then
mysqldump -u*** -hIP -p*** $database > $databaseBakUrl
else
rm -rf $databaseBakUrl
mysqldump -u*** -hIP -p*** $database > $databaseBakUrl
fi
给shell脚本命名为databasebak.sh
赋予脚本权限 chmod u+x databasebak.sh
添加计划任务
crontab -e
30 1 * * * sh /home/databasebak.sh &