/bin/bash # 以下配置信息请自己修改 mysql_user="root" #MySQL备份用户 mysql_password="summer123" #MySQL备份用户的密码 mysql_host...="192.168.0.1" mysql_port="3306" mysql_charset="utf8" #MySQL编码 backup_db_arr=("testapp") #要备份的数据库名称,多个用空格分开隔开...#欢迎语 # 判断MYSQL是否启动,mysql没有启动则备份退出 mysql_ps=`ps -ef |grep mysql |wc -l` mysql_listen=`netstat -an |grep...exit else echo $welcome_msg fi # 连接到mysql数据库,无法连接则备份退出 mysql -h$mysql_host -P$mysql_port -u$mysql_user...." # 判断有没有定义备份的数据库,如果定义则开始备份,否则退出备份 if [ "$backup_db_arr" !
/mysql -u$username -p$password -h$hostip -e"SHOW DATABASES;"` denylists=(Database mysql test information_schema...performance_schema) #循环备份数据库 for dbname in ${dblists[*]} do #排除不用备份的数据库 flag=0 for i in ${denylists...[*]} do if [ "$i" = "$dbname" ] then flag=1 fi done if [ $flag -ne 1 ] then #指定时间日期和备份目录.../bin/mysql -u$username -p$password -h$hostip $dbname -e"SHOW MASTER STATUS;" >>$LogFile #开始备份数据库...--net_buffer_length=163840 | gzip>$backupdir echo " " >> $LogFile /usr/local/mysql/bin/mysql -u$
/bin/sh #mysql_backup begintime=`date +"%Y-%m-%d_%H-%M-%S"` format_time=`date +"%Y-%m-%d_%H-%M-%S"` tar_time...' file_cnf=/etc/my.cnf user_name=root passwd='123456' sock=/data/mysqldata/mysql.sock out_log=$backdir.../xtraback_log_$format_time time_cost=$backdir/xtraback_time.txt #判断数据备份的压缩目录是否存在 if [ !...-d "$backdir" ]; then mkdir -p $backdir else #判断昨日是否备份,有则打包压缩后删除之前备份的目录 if [ -d "$backdir/rec2..." ];then tar zcf ${tardir}/mysql_bckup_$tar_time.tar.gz -C $backdir .
创建一个脚本dbbackup.sh然后内容如下: #!.../bin/bash # 执行此文件将会备份数据库到/opt/backup/data目录中 cd /opt/backup/data date=`date -I`; #取出当前的日期 /opt/lampp.../bin/mysqldump -u用户名 -p密码 数据库> 备份文件名前缀_$date.sql; #导出数据库为sql脚本 /bin/tar zcvhf 备份文件名前缀_$date.tar.gz 备份文件名前缀..._$date.sql; #压缩sql脚本 rm 备份文件名前缀_$date.sql #删除sql文件 现在我们将这个脚本添加到定时任务中去,让每天都执行一次 使用crontab -l命令查看当前定时任务
/bin/bash #by azura #About database backup #URL https://www.mxsina.com DBCMD=/usr/local/mysql/bin/mysqldump...123456789 #数字段请修改为root用户数据库连接密码 DATABASE=emlogdb #emlogdb请修改为备份的数据库...---------------------------------------------------------" echo echo "Start the database backup" #示例备份命令...mysqlbak/bak_emlogdb.sql $DBCMD -u$DBUSER -p$DBPWD $DATABASE > $BAK_DIR/db_emlog.sql #db_emlog.sql可修改为备份文件的文件名
/bin/sh #mysql_backup begintime=`date +"%Y-%m-%d_%H-%M-%S"` format_time=`date +"%Y-%m-%d_%H-%M-%S"...' file_cnf=/etc/my.cnf user_name=root passwd='123456' sock=/data/mysqldata/mysql.sock out_log=$backdir.../xtraback_log_$format_time time_cost=$backdir/xtraback_time.txt #判断数据备份的压缩目录是否存在 if [ !...-d "$backdir" ]; then mkdir -p $backdir else #判断昨日是否备份,有则打包压缩后删除之前备份的目录 if [ -d "$backdir/rec2..." ];then tar zcf ${tardir}/mysql_bckup_$tar_time.tar.gz -C $backdir .
1、分库备份 !/bin/bash image.png 2、分库分表备份 !/bin/sh image.png [ !
/bin/bash mysql_host="localhost" mysql_user="xxxx" mysql_pwd="xxxxx" #保存备份sql的文件路径 db_dir="/data/backup...-d $db_dir];then # mkdir $db_dir #fi db_arr=$(echo 'show databases' | mysql -u$mysql_user -p$...mysql_pwd -h$mysql_host) #获得当前日期 date=$(date +%Y%m%d) ziname=$date".zip" #指定的数据库文件 thisdb="zzaly"...date".sql" for dbname in ${db_arr} do if [ $thisdb == $dbname ];then mysqldump -u$mysql_user...-p$mysql_pwd -h$mysql_host $dbname > $db_dir"/"$sqlfile fi done find $db_dir -mtime +5 -type f |
今天简单的写了个python的mysql备份脚本,其实也不是很难呀。比shell简洁了很多! 开整: 注释都用英文写了,有些英语基础的朋友应该都可以看得懂了! #!... 'root' #mysqlbackup password Password = 'root' #mysqlbackup command Mysqlcommand = '/usr/local/mysql.../bin/mysqldump' #gzip command Gzipcommand = '/bin/gzip' #backup mysql database Mysqldata = ['gtshop...'sucessful gzip gtshop' else: print 'gzip failed' 执行结果: [root@localhost script]# python mysql_backup.py
适用于Linux平台下的一个定时备份压缩数据库代码 压缩备份Mysql数据库 #!
00 00 root /mysqlbak.sh 以上两个 00 00 * 为每天的凌晨自动执行脚本 分 时 日 月 周 命令 M: 分钟(0-59)。.../sbin:/usr/local/mysql/bin export PATH 数据库用户名 dbuser=’root’ 数据库密码 dbpasswd=’123456′ 数据库名,可以定义多个数据库,中间以空格隔开...’ 数据备份路径 datapath=’/second/backup’ 日志记录头部 echo ‘”备份时间为${backtime},备份数据库表 ${dbname} 开始” >> ${logpath}/...== 0 ];then cd $datapath 为节约硬盘空间,将数据库压缩 tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null...删除原始文件,只留压缩后文件 rm -f ${datapath}/${backtime}.sql echo “数据库表 ${dbname} 备份成功!!”
定时执行脚本: 1、执行 crontab -e 00 00 * * * /bin/bash yourpath/mysqlbak.sh 2、打开自动执行文件 vi /etc/crontab...00 00 * * * root /mysqlbak.sh 以上两个 00 00 * * * 为每天的凌晨自动执行脚本 分 时 日 月 周 命令 M: 分钟(0-59...usr/local/sbin:/usr/local/mysql/bin export PATH #数据库用户名 dbuser='root' #数据库密码 dbpasswd='123456...== 0 ];then cd $datapath #为节约硬盘空间,将数据库压缩 tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql >.../dev/null #删除原始文件,只留压缩后文件 rm -f ${datapath}/${backtime}.sql echo "数据库表 ${dbname} 备份成功!!"
每天固定时间用mysqldump 备份mysql数据。 #!.../bin/bash 每天早上4点, mysql备份数据 orangleliu chmod 700 backup.sh crontab -e 0 4 * /home/erya/run/moniter/...mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" backup directory base_dir...="/home/backup" backup_log="${base_dir}/mysql_backup.log" backup_path=${base_dir} file info date=$(date
案例需求 写一个mysql binlog备份脚本,要求每天0点0分,计算机自动备份前一天的binlog日志,打包后发送给备份服务器。...脚本应用场景: 文件备份 解决问题 日常文件备份 日常数据备份 脚本思路 1、确定binlog的位置及备份时间间隔 每天 当前要备份的binlog是谁 ...刷新binlog日志,生成新的binlog用于存储备份节点后的数据 2、打包binlog日志 以年-月-日_binlog.tar.gz格式 3、生成校验码 md5sum 4、将校验码和压缩包存入到文件夹...文件夹命名 年-月-日 再次打包 5、使用scp拷贝到备份机器 6、备份机器解压收到的目录压缩包 通过校验码 教研binlog压缩包是否完整 完整 完成备份 -----发邮件给管理员,明确备份成功.../bin/bash #Description: #Author: www.zutuanxue.com #Created Time: #将mysql的binlog日志备份到备份服务器 ######
完全备份指定数据库 DIR=/database/backupdir FILE_NAME=`date +%y%m%d%H` FILE_NAME=$DIR/db_$FILE_NAME.sql.gz echo...quick --routines --single-transaction --master-data=1 db_name | gzip > $FILE_NAME echo finish backup 从备份的文件恢复数据库...#db restore abc gunzip < /backupfiledir/12082917.sql.gz | mysql --user=dbuser --password=dbpwd --port...=3336 --host=10.10.20.1 --database=test 在备份时出现mysqldump: Error: Binlogging on server not active时,是因为mysql...的binlog没有启动,在mysql的my.ini文件中[mysqld]下面添加 log-bin=mysql-bin 然后重新启动mysql服务,问题就解决
请使用source执行脚本,在脚本后面传入'下载地址';列如:source recover.sh 'Download.URL'"; else url="https://dev.mysql.com/get...= 0 ]]; then echo "wget下载失败,请确认网络或者yum源无问题后重新执行次脚本" && exit -1; fi #下载云上备份 mkdir ${workDir}/data1 -p...|wc -l`; if [[ ${user_status} -eq 0 ]]; then useradd -s /bin/nologoin mysql fi chown -R mysql.mysql...=mysql basedir=${workDir}/mysql datadir=${workDir}/data socket=/tmp/mysql.sock server_id=666 port=3306...######################恢复数据##################################### sleep 10 systemctl stop mysqld #创建云上备份下载目录
由于项目的特殊需求,需要保留项目每天的日志,而日志文件又很大,时间久了会影响磁盘的使用量,因此必须定期的压缩备份以前的日志文件,这里我是通过shell脚本压缩打包文件然后加入到linux的定时任务中来处理的...,虽说shell脚本很简单就是那么几行,但是当中遇到的问题还是做一下说明: 最初的做法我是直接用tar命令打包日志目录下面的日志文件,打包成功后删除日志文件,我的shell脚本如下: #!.../bin/sh #gztest项目的日志压缩程序 cd /var/www/gztest/Temp/log && rm -rf ./*.txt #打包压缩日志文件 logdir= 执行如下命令:sh -x...后来我换了一个方法,先将日志文件拷贝到一个临时目录,然后将临时目录打包、最后删除临时目录、和已经打包过的文件,shell脚本如下: #!.../bin/sh #gztest项目的日志压缩程序 cd /var/www/gztest/Temp/log && rm -rf ./*.txt #打包压缩日志文件 logdir=$(date +%Y-%m
/bin/bash #the script is backup all databases for mysql server,first grant all on *.* to adminbak@'172.16.2.222
# 创建执行脚本 tar jcvf data_cold_back.tar.bz2 data 当需要进行冷备份操作时, 只需执行脚本命令即可(操作会覆盖掉之前备份的压缩文件,没啥不利影响) ☞ tar..."/var/lib/mysql/" 下 所有生成的文件也在这里: tar 压缩命令可以减少存储空间 待还原备份时,进行解压即可 但是要特别注意下,很可能报出这种错误: 【tar 解压缩文件报错...感觉,这个技术含量不如 —— 使用 XtraBackup 进行数据热备 ---- Shell 脚本自动备份 不过,这种方式需要 MySQL 服务开启,不然无法备份数据 个人觉得有点像热备份 但是,...鄙人的理解是: 因为无法操作事务更新,不同于标准的热备份 可以理解为当下不对外提供数据更新操作 或者当前时间点离开集群 ☞ 脚本配置 首先创建脚本 touch backup.sh 然后,编辑如下信息.../test_pxc-202101291229.sql 参考文章 —— 【CentOS MySQL 自动备份 shell 脚本】 【题外话】 个人觉得 这种方式倒是挺适合本地测试或者小型项目
一般情况我们通过mysqldump来备份MySQL数据库,并上传至其它备份机器。如果数据库比较大,在备份传输的时候可能会慢,所以我们尽量让备份的文件小一些。...在写自动备份脚本时,最好把备份结果直接压缩,恢复时也可以直接由压缩备份恢复。下面介绍如何使用bzip2和gzip进行压缩mysql备份文件。...| mysql 备份并用gzip压缩: 代码如下 mysqldump | gzip > outputfile.sql.gz 从gzip备份恢复: gunzip < outputfile.sql.gz...直接将MySQL数据库压缩备份 代码如下 mysqldump -h hostname -u username -p databasename | gzip > db.sql.gz 说明: gzip是linux...Query Browser的File–》Open Script来执行备份的脚本,同时也可以使用一下命令直接进行恢复: 代码如下 mysql -h hostname -u username -p databasename
领取专属 10元无门槛券
手把手带您无忧上云