转载自剑花烟雨江南
在项目后,我们需要对正式的数据进行固定的备份,用于数据库灾备或者数据分析等。接下来,我们来介绍如何使用shell 备份数据库:
#!/bin/bash
#保存备份个数,备份31天数据
expire_day=10
#备份保存路径
backup_dir=/data/mysqlbackup
#日期
dd=`date +%Y%m%d%H`
#备份工具
tool=mysqldump
#用户名
username=数据库用户名
#密码
password="数据库密码"
#将要备份的数据库
database_name=数据库
host="数据库地址"
#如果文件夹不存在则创建
if [ ! -d $backup_dir ];
then
mkdir -p $backup_dir;
fi
if [ ! -d $sun_backup_dir ];
then
mkdir $sun_backup_dir;
fi
#简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql
#$tool -h $host -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql
$tool -h $host -u$username -p$password $database_name | gzip > $backup_dir/$database_name.dump.$dd.sql.gz
#判断现在的备份日期
find $backup_dir/ -mtime +$expire_day -type d -exec rm -rf {} \;
之后我们使用定时任务 crontab 定时执行此脚本即可完成数据库的备份
评论