MySQL定时备份数据库shell脚本
2020-06-30 15:05
357 查看
MySQL定时备份数据库shell脚本
mysqldump命令备份数据
数据库导出,主要用到mysqldump 命令
mysqldump -h$DB_HOST -u$DB_USER -p$DB_USER_PASSWD $dbname > $TODAYBACKUPPATH/$dbname.sql
整个shell脚本
具体脚本如下:
DB_HOST='localhost' DB_USER='root' DB_USER_PASSWD='***' DB_NAME='/home/dbbackup/dbnames.txt' BACKUP_PATH='/home/dbbackup/mysql/' printf "createing backup folder!\n" DATETIME=$(date +%Y%m%d_%H%M) TODAYBACKUPPATH="$BACKUP_PATH$DATETIME" #创建备份文件夹 if [ ! -d "$TODAYBACKUPPATH" ]; then printf "create dir $TODAYBACKUPPATH \n" mkdir -pv "$TODAYBACKUPPATH" fi printf "checking for databases names file\n" #定义执行备份脚本,读取文件中的数据库名称,注意按行读写,不校验是否存在该库 run_backup (){ #读取 DB_NAME文件中的内容 for dbname in $(<$DB_NAME);do #遍历循环执行备份sql printf "now starting backup database %s\n" $dbname printf "mysqldump -h$DB_HOST -u$DB_USER -p$DB_USER_PASSWD $dbname > $TODAYBACKUPPATH/$dbname.sql \n" mysqldump -h$DB_HOST -u$DB_USER -p$DB_USER_PASSWD $dbname > $TODAYBACKUPPATH/$dbname.sql done } #执行压缩的函数 run_tar(){ # 将今日的备份文件打包成压缩文件 compress_file="$TODAYBACKUPPATH.tar.gz" cd $BACKUP_PATH pwd tar -czvf $compress_file $DATETIME printf "compress complete!\n" #删除备份文件夹 rm -rf $TODAYBACKUPPATH } #删除30天前的文件 del_30day_backup_file(){ find ${BACKUP_PATH} -name "*.tar.gz" -mtime +30 -exec rm -rfv {} \; } _main(){ printf "starting backup of all db listed in file $DB_NAME \n" printf "time is $DATETIME\n" run_backup run_tar del_30day_backup_file exit 0 } _main
dbnames.txt中内容
脚本中的DB_HOST ,DB_USER_PASSWD,DB_NAME,BACKUP_PATH 根据情况自己更改。dbnames.txt 中一行只能有一个数据库名
使用crontab定期执行备份脚本
crontab -e #将下面这条脚本意思是 每天晚上23点50分钟时调用 /home/firm-pms/39.dump.sh 脚本 50 23 * * * /home/firm-pms/39.dump.sh >> /home/firm-pms/back_39_log.log
crontab -l 查看定时任务
相关文章推荐
- 服务器数据备份(shell 定时脚本备份mysql)
- mysql定时备份数据库的shell
- linux下使用shell脚本定时备份数据库
- 服务器数据备份(shell 定时脚本备份mysql)
- nodejs 定时调用shell脚本来备份数据库和日志文件并发送到邮箱
- Mysql 数据库自动备份Shell脚本
- shell脚本采用crontab定时备份数据库日志
- mysql定时备份shell脚本
- MySQL :: Linux 下自动备份数据库的 shell 脚本
- CentOS下mysql定时备份Shell脚本分享
- 备份mysql所有数据库的每个表的shell脚本
- 服务器数据备份(shell 定时脚本备份mysql)
- mysql定时备份所需权限、shell脚本、OSS备份
- CentOS下mysql定时备份Shell脚本分享
- web服务文件更新自动同步、数据库主从复制、shell脚本实现网站代码备份和mysql备份
- shell脚本实现mysql定时备份、删除、恢复功能
- mysql定时备份数据库的shell
- shell脚本备份mysql里面所有数据库到远程服务器
- Mysql 数据库自动备份Shell脚本
- linux上mysql远程备份和自动导入到指定数据库的shell脚本