Linux实现定时备份MySQL数据库并删除30天前的备份文件

1. MySQL5.6以上版本

2. 修改 /etc/my.cnf 文件

# vim /etc/my.cnf

[client]
host=localhost
user=你的数据库用户
password=‘你的数据库密码‘

3. 编写数据库脚本 mysql-backup.sh

# vim mysql-backup.sh
#!/bin/bash

backupDir=数据库备份目录
backupTime=`date +%Y%m%d%H%M%S`

mysqldump 你的数据库 | gzip > $backupDir/你的数据库-$backupTime.sql.gz
echo "1."$backupTime "备份完成" >> #backupDir/mysql.log

cd $backupDir
rm -rf `find . -name ‘*.sql.gz‘ -mtime +30` >> #backupDir/mysql.log 2>&1    #删除30天前备份文件
echo "2.删除30天前的备份文件完成" >> #backupDir/mysql.log

4. 为脚本添加执行权限

# chmod +x mysql-backup.sh

5. 测试执行

./mysql-backup.sh

6. 添加定时计划

# crontab -e (和vim编辑器一样)
# crontab配置文件格式:分 时 日 月 周  命令

# 在最后一行中加入:
0 3 * * *   root /usr/sbin/mysql-bakup.sh #表示每天3点00分执行备份
0 */6 * * * root /usr/sbin/mysql-bakup.sh #表示每6个小时执行备份

7. 重启crontab

# /etc/rc.d/init.d/crond restart

8. 恢复数据库备份文件

#SQL备份文件恢复:
mysql -u root -p 你的数据库 < 备份文件名.sql

#压缩文件恢复:
gzip < 备份文件名.sql.gz | mysql -u root -p 你的数据库

原文地址:https://www.cnblogs.com/hunttown/p/11737115.html

时间: 2024-12-20 17:46:47

Linux实现定时备份MySQL数据库并删除30天前的备份文件的相关文章

让linux每天定时备份MySQL数据库并删除五天前的备份文件

MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据.利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1.创建备份文件夹#cd /bak#mkdir mysqldata 2.编写运行脚本#nano -w /usr/sbin/bakmysql.sh注:如使用nano编辑此代码需在每行尾添加'&&'或';'连接符,否则生成的文件名末尾字符为乱码 代码:#!/bin/bash# Name:bakmysq

商城系统在linux系统中定时备份MySQL数据库并删除七天前的备份文件

数据库是商城软件中重要的组成部分,定时任务能周期性地自动执行中的程序必要的业务逻辑,以DSMall开源商城系统每日店铺结算的业务逻辑为例:!/bin/bash?Name:bakmysql.sh?This?is?a?ShellScript?For?Auto?DB?Backup?and?Delete?old?Backup备份地址backupdir=/home/mysqlbackup备份文件后缀时间time=`?date?+%Y%m%d%H%M%S?<br/>需要备份的数据库名称<br/>

linux定时备份MySQL数据库并删除七天前的备份文件

#!/bin/bash # Name:bakmysql.sh # This is a ShellScript For Auto DB Backup and Delete old Backup #备份地址 backupdir=/home/mysqlbackup #备份文件后缀时间 time=_` date +%Y_%m_%d_%H_%M_%S ` #需要备份的数据库名称 db_name=test #mysql 用户名 db_user=root #mysql 密码 db_pass=123456 my

Linux下定时备份MySQL数据库的Shell脚本

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

linux设置定时备份mysql数据库

最近写自己的项目,买了阿里云服务器,可以在云上根据自己想到的需求随意使用技术,感觉很爽.备份mysql流程如下: 环境:CentOS Linux release 7.2.1511 (Core) mysql5.6.34 创建存放备份文件的文件夹mkmir /backup/mysql 创建备份脚本vi backup.shmysqldump -u root -p888 familytree | gzip > /backup/mysql/familytree_$(date +%Y%m%d_%H%M%S)

linux 下备份MySQL数据库 并删除7天前的备份数据

#!/bin/bash #备份数据库hz jshuabo sdhuabo name=$(date +%Y%m%d) /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 hz > /root/sqlBackup/hz.$name.sql /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 jshuabo > /root/sqlBackup/jshuabo.$na

linux上定时备份mysql数据库

定时备份数据库 /usr/sbin/backupmysql timestamp=`date +"%Y-%m-%d-%H-%M-%S"` mysqldump -uroot -p'123456 databasename>/db$timestamp.sql chmod +x backupmysql 安装crontab: [[email protected] ~]# yum install vixie-cron [[email protected] ~]# yum install cro

Linux下自动备份Oracle数据库并删除指定天数前的备份

Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务器 mkdir -p /backup/oracledata #新建Oracle数据库备份目录 chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Or

linux配置定时备份mysql数据库

1.创建备份目录2901583663# mkdir /mydata/bak2.创建备份脚本# vi /usr/sbin/bakmysql.sh#!/bin/bash#Name:bakmysql.sh#This is a shellscript for atuo db backup and delete old backup.#Jxy# bakdir=/mydata/baktime=`date +%Y%m%d`mysql_bin_dir=/usr/local/mysql/bin #备份并压缩$my