一、创建备份目录
cd /usr/mysql
mkdir backup
二、创建备份Shell脚本
名字随便
vi bfDatabaseName.sh
添加内容 下面是需要注意的一些变量
#!/bin/bash
#name:bakmysql.sh
DB_USER="root" #数据库用户名
DB_PASS="123456" #数据库密码
DB_HOST="localhost" #数据库地址(IP或者是localhost之类的)
DB_NAMES="bosh_education cmall" #数据库名称,多个用空格隔开
DB_ZFBM="--default-character-set=utf8" #字符集编码设置(这个很关键,解决导出文件中中文乱码)
DB_TABLE="user" #table name
备份路径
# Others vars
BIN_DIR="/usr/bin" #the mysql bin path
BCK_DIR="/usr/mysql/backup" #备份文件路径
DATE=`date +%F`
循环数据库
for dbName in ${DB_NAMES[*]}
do
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_ZFBM $dbName > $BCK_DIR/db_$DATE.sql
done
定期3天后删除
find $BCK_DIR -name "db_*.sql" -type f -mtime +3 -exec rm {} \; > /dev/null 2>&1
三、添加可执行权限
chmod u+x bkDatabaseName.sh
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./bfDatabaseName.sh
四、添加计划任务
检测或安装 crontab
确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
# crontab
-bash: crontab: command not found
如时没有安装 crontab,需要先安装它,具体步骤请参考
五、添加计划任务
crontab -e
这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:为每天3点执行
* 3 * * * /home/backup/bkDatabaseName.sh
crontab 基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
查看定时任务
crontab -l
六、还原
创建好数据库后直接运行sql文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/15568.html