centos7备份数据库

#!/bin/bash

# 要备份的数据库名,多个数据库用空格分开

databases=(guowang yaohan wycenter)

# 备份文件要保存的目录

basepath=‘/opt/guowang/mysql/‘

if [ ! -d "$basepath" ]; then

mkdir -p "$basepath"

fi

# 循环databases数组

for db in ${databases[*]}

do

# 备份数据库生成SQL文件

/bin/nice -n 19 /usr/bin/mysqldump -u用户名 -p密码 --database $db > $basepath$db-$(date +%Y%m%d).sql

# 将生成的SQL文件压缩

/bin/nice -n 19 tar zPcf $basepath$db-$(date +%Y%m%d).sql.tar.gz $basepath$db-$(date +%Y%m%d).sql

# 删除7天之前的备份数据

find $basepath -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} \;

done

# 删除生成的SQL文件

rm -rf $basepath/*.sql

时间: 2024-10-28 10:00:31

centos7备份数据库的相关文章

Linux MySQL8.0.12备份数据库

环境CentOS7.4 MySQL8.0.12 #备份地址 backupdir=/data/bak #备份文件后缀时间 time=_` date +%Y_%m_%d_%H_%M_%S ` #需要备份的数据库名称 db_name=friends #mysqldump命令使用绝对路径 /usr/local/mysql/bin/mysqldump $db_name | gzip > $backupdir/$db_name$time.sql.gz 同时修改MySQL的配置文件,my.cnf [mysql

Linux下定时备份数据库

Linux下如何设置每天自动备份数据库 本文以Centos7.6系统与Oracle11g为例: 一.先找到数据库的环境变量 如果是在root账户下,须先登录到数据库所在账户 su oracle cat ~/.bash_profile export PATHexport ORACLE_BASE=/home/nnc_db/appexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export PATH=$PATH:$ORACLE_HOME/b

SqlServer定时备份数据库和定时杀死数据库死锁解决

PS:Sqlserver 2008 R2,windows 8 64位 1.备份数据库 因为要备份,我们就要用到Sqlserver的代理,默认数据库的代理是不开启的.需要我们手动开启的. 执行备份数据库脚本,现在将脚本公布,其实将这一段代码中需要保存的文件路径和数据库名称替换一下就可以实现备份了.但是还没有达到定时备份的目的 ? 1 2 3 4 5 6 7 8 9 10 11 --自动备份并保存最近5天的SQL数据库作业脚本 宋彪 20130310 DECLARE @filename VARCHA

System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部

SQL还原时出现下面的错误,System.Data.SqlClient.SqlError: 尚未备份数据库 "***" 的日志尾部.如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志.请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容. (Microsoft.SqlServer.Smo)原因分析:    这是因为在线还原的数据库在最后备份后又产生了新的日志,所以按照默认设

sql server 2008 R2 压缩备份数据库

今天需要把一个省外项目的数据库从服务器上备份.拷贝到本机(跨地域传输数据库备份文件). 连上VPN,通过远程桌面连接,连接上服务器,发现数据库文件已经有20G以上大小了. 文件太大,公司网络也不稳定,根本不可能通过网络传输过来. 于是,把数据库的恢复模式由"完整"模式设置为"简单"模式,接着收缩数据库, 数据库瞬间由20G变成1G多点. 在SSMS中,新建查询窗口,执行数据库备份语句: --定义变量,把备份数据库的QL脚本赋值给变量 declare @SqlBack

使用 systemd timer 备份数据库

使用 systemd timer 备份数据库 导读 主要的Linux发行版都改用systemd 来替代 System V启动方式,其中 systemd timer 能替代 crontab 计划任务的大部分功能.本文介绍了用systemd timer如何实现数据库备份,其他类型的计划任务可以同理实现. 定义timer文件 进入目录/usr/lib/systemd/system,按如下文件建立timer: [Unit] Description=Runs db backup every hour [T

Java 调用Mysql dump 备份数据库

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); try { String name = sdf.format(new Date()); String filePath = System.getProperty("user.dir") + "//" + name + ".sql"; // 系统执行器 Runtime rt = Runtime.getRu

MySQL备份数据库脚本

Windows @echo offmysqldump --add-drop-database --add-drop-table -u root -p123456 dbname > d:\db_backup\%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%_dbname.sql Linux #!/bin/shcd /usr/binDATE=`date +%Y-%m-%d`# 备份dbname数据库/usr

如何使用PHP自动备份数据库

如何使用PHP自动备份数据库 1.前言 mysql数据库的备份方式有很多: 例如: 1.使用mysqldump函数 mysqldump -u username -p dbname table1 table2 ...  > BackupName.sql dbname参数表示数据库的名称 table1和table2参数表示需要备份的表的名称,为空则整个数据库备份: BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径.通常将数据库被分成一个后缀名为sql的文件: 基本