mysql数据库自动备份脚本分享

前几篇博客已经相继公开了去转盘网的所有技术细节,如下:

百度网盘爬虫

中文分词算法

邀请好友注册

js分页部分代码

这篇博客我将继续公开数据库自动备份的代码。可以这么说,没有数据库,一切就是个蛋,没有数据库备份,一切还是个蛋,你可以想象数据库备份多么重要。不会linux,不会写shell的朋友麻烦先去补补。不过你说我牛逼,不补也能看懂,那没问题,哈哈,废话不说了。老规矩,上代码:

#!/bin/bash
time=$(date +"%d-%m-%Y")
pre=/home/ubuntu #想放到那里麻烦自己配置下哈
if [ ! -d "$pre/data_backup/$time" ]
then
  mkdir -p $pre/data_backup/$time
  echo "create $pre/data_backup/$time"
else
  echo "exist $pre/data_backup/$time"
fi
if [ -d "$pre/data_backup/$time" ]
then
 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun user > $pre/data_backup/$time/user.sql
 mysqldump -h10.66.102.75 -uroot -p123456--opt winrun CategoryInfo  > $pre/data_backup/$time/CategoryInfo.sql
 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_info > $pre/data_backup/$time/admin_info.sql
 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_loginfo > $pre/data_backup/$time/admin_loginfo.sql
 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_notice_info  > $pre/data_backup/$time/admin_notice_info.sql
 mysqldump -h10.66.102.75 -uroot -p123456--opt winrun advertising_info  > $pre/data_backup/$time/advertising_info.sql
 mysqldump -h10.66.102.75 -uroot -p123456--opt winrun ajax_request_info  > $pre/data_backup/$time/ajax_request_info.sql
 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun bt_file_info  > $pre/data_backup/$time/bt_file_info.sql
 echo "backup finished"
 cd $pre/data_backup #enter dir
 zip -r $time.zip $time/
 rm -fr $time #delete
 cd -
 echo "zip backup database finished"
else
 echo "can not find backup file"
fi

注意,我的密码我已经改了,这个不能告诉你们,所以喜欢copy的孩子麻烦自己该密码。下面我教大家玩下crotab,代码如下:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use ‘*‘ in these fields (for ‘any‘).#
# Notice that tasks will be started based on the cron‘s system
# daemon‘s notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
10 1 * * 1,3,5  /home/backup.sh >> /home/backup.log

有用的是最下面的这一句,看到没有,备份完了还得有个log,不然谁知道备份成什么样子了,一点都不懂crontab麻烦自己百度下,我也一时给你讲不明白。

上面是备份的结果,注意,备份完了之后是压缩包的形式,所以请你先安装压缩工具,apt-get install XXXX 不会的还是麻烦百度下,实在简单成狗了。

技术在于分享,开源,去转盘不吝啬任何技术,欢迎关注微博或者微信,随时交流。

时间: 2024-08-15 05:37:44

mysql数据库自动备份脚本分享的相关文章

Windows Server服务器端MySQL数据库自动备份

1.给root账户授权所有sql权限 grant all privileges on *.* to [email protected]"%" identified by "."; flush privileges; 2.建立bat批处理文件 @echo off set path=%path%;D:\Program Files\MySQL\MySQL Server 5.5\bin set y=%date:~0,4% set m=%date:~5,2% set d=%d

设置mysql数据库自动备份

由于项目需要,在windows下的mysql实现数据库自动备份.经资料查询和尝试,得出方法有两种: 1.使用windows自带的任务计划,然后定时执行一个数据库备份的脚本. 2.使用mysql管理工具navicat配置数据库的备份 这里,由于第二种方法比较简单实用,我就简单描述下第二种方法(因为简单). 工具: navicat for mysql mysql 5.5 步骤: 1.打开navicat客户端,连上mysql后,双击左边你想要备份的数据库.点击“计划”,再点击“新建批处理作业”. . 

windows下oracle数据库自动备份脚本

1.根据日期自动生成 Oracle 备份文件 @echo off echo 正在备份Oracle数据库,请稍等...... exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res echo 任务完成! 2.根据日期时间分秒自动生成 Oracle 备份文件 @echo off

Python 生产环境Mysql数据库增量备份脚本

Mysql数据库常用的办法是通过mysqldump导出sql进行备份,但是不适合数据量很大的数据库,速度,锁表是两个严重的问题.前面写了一遍blog介绍xtrabackup的热备工具.下面的脚本是基于xtrabackup实现自动备份数据库的功能. 需求描述: 每天晚上23点,对数据库进行一次完整备份.第二天0-22点,每小时进行一次增量备份.每次备份前把上次的完整备份和23次增量备份移动到指定目录里,保留7天的数据. ps:不要问我,为什么是23点执行完整备份,0点不更好处理吗?bingo,这是

mysql数据库自动备份,并发送邮件通知

一 前提 系统环境:centos6.1 脚本作用:备份指定服务器上的指定数据库,并通过scp传送到另一台备份主机,然后发送备份是否成功邮件到指定邮箱 思路:首先在备份脚本中把备份报告导出为一个db_backup.log文件,然后邮件脚本会把这个log内容作为邮件内容发送给指定用户,也就实现了邮件通知 说明:如果需要备份到远程主机,需要首先做好ssh密钥认证,scp要使用到 二 备份脚本 备份脚本用法:如果需要备份某个数据库,在脚本后面添加一条备份命令,像下面这样 backup_db  10.90

Linux下实现MySQL数据库自动备份

1.给mysql创建用户备份的角色,并且授予角色SELECT, RELOAD, SHOW DATABASES, LOCK TABLES等权限. mysql> create user 'backuper'@'localhost' identified by '********'; Query OK, 0 rows affected (0.00 sec) mysql> grant SELECT, RELOAD, SHOW DATABASES, LOCK TABLES on *.* to backu

Java实现Mysql数据库自动备份

最近项目中有一个这样的需求,要求定时备份数据库.看了一些网上的资料,了解到主要思路是是使用java中的Runtime类的exec()方法,可以直接调用windows的cmd命令,参数就是Mysql的备份命令. 一.Runtime类 首先说说这个神奇的Runtime类,主要封装了Java程序的运行环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRuntime()方法获得与之关联的Runtim

mysql数据库自动备份

1.vi /home/wangcn/auto_log.sh#!/bin/bash #Shell Command For Backup MySQL Database Everyday Automatically By Crontab USER=root PASSWORD="[email protected]" DATABASE="base_info" HOSTNAME="192.168.1.233" [email protected] BACKUP

mysql数据库分库备份脚本

版本1 for dbname in `mysql -uroot -poldboy123 -e "show databases;" |grep -Evi "database|informa|perfor"` do mysqldump -uroot -poldboy123 --events -B $dbname|gzip >/opt/bak/${dbname}_bak.sql.gz done 版本2 #!/bin/bash MYUSER=root MYPASS=o