数据库定时备份原理,代码

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

百度网盘爬虫

中文分词算法

邀请好友注册

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-23 23:35:39

数据库定时备份原理,代码的相关文章

Linux下crontab+php实现Mysql数据库定时备份

引言 大项目中的数据库备份是必不可少的,否则一旦出现大问题就GG了,虽然本文是讲述利用PHP实现数据库定时备份,但是这并不是好的方案 想要定时备份数据库,最快捷安全的方法就是利用shell脚本了,功能强大操作方便,而且执行速度极快,不像PHP还需要被apache解析一把.. 当然,不管是用php定时备份,还是shell脚本定时备份,都离不开crontab这玩意,毕竟它才是真正的定时器,这里粗略的说一下crontab吧 crontab使用简介 crontab常用基础命令 crontab -e //

使用教程 - BestSync同步软件 - SQL2008R2 数据库定时备份解决方案

需求: 1.      某公司的管理软件,数据库为SQL2008R2.2.      将整个数据库作为一个文件,定时同步到FTP 服务器3.      需要有多个备份,每同步一次,都备份上次的文件到备份文件夹. 要点:1.      执行同步任务前需要关闭SQL Server服务.用户添加数据条目到数据库后,数据库文件的修改时间不会同步改变.2.      勾选“影子复制”功能.BestSync将能同步正在编辑的数据库文件.3.      只能设置定时同步. 数据库文件修改时间需要通过预先执行批

mysql数据库定时备份

操作步骤:1.将脚本放到任意位置下,不容易被误删即可2.定时任务,一周执行一次脚本 脚本如下:#!bin/bash backuppath=/data/mysql/backup date=$(date +%Y%m%d%H%M) SQLuser=root SQLpwd=password mysqldump=/usr/local/mysql/bin/mysqldump mysql=/usr/local/mysql/bin/mysql HIS_Date=`date -d $(date -d "-30 d

window自动任务实现数据库定时备份

原理:利用window定时任务定时cmd加载mytask.bat文件,bat运行php.exe程序编译运行mytask.php文件 ,从而实现了数据库的备份 mytask.bat 内容: D:\phpStudy\php53\php.exe D:\www\mytask.php mytask.php 内容: $filename=date('YmdHis',time()); $command="D:\phpStudy\MySQL\bin\mysqldump -u root -proot -d sx &

windows下mysql数据库定时备份。

注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat 这个文件是用来定时执行指定的php文件 timerExecutePhp.bat文件内容: F:\web\php-5.6.22-Win32-VC11-x64\php.exe F:\web\htdocs\demo\timer.php 注释: 1.F:\web\php-5.6.22-Win32-VC11-x64\p

java操作数据库定时备份与还原

mysql每天23:00自动备份 public class DatabaseBackup { /** * * @param dbdir mysql数据库安装路径 * @param dbname  数据库的名称 * @param backdir 备份的目录 */ public static void backup(String dbdir, String dbname, String backdir) { Calendar calendar = Calendar.getInstance(); Si

MySql 数据库定时备份

1.使用sqldump+任务计划 mysqldump备份成sql文件==============假想环境:MySQL   安装位置:C:\MySQL论坛数据库名称为:bbsMySQL root   密码:123456数据库备份目的地:D:\db_backup\ 脚本: rem *******************************Code Start*****************************@echo off set "Ymd=%date:~,4%%date:~5,2%%

mysql 数据库定时备份 增量/全备份

实验楼的 MySQL 数据库需要设计一个自动备份方案,能够每周执行一次全备份,每天执行一次增量备份. 数据库名称为 shiyanlou,管理的用户名为 shiyanlou,密码为 shiyanlou.注意需要先手动启动 MySQL 服务. 目标 设计并实现备份方案,任务完成后满足以下要求: MySQL 服务处于运行状态 需要为服务器中的 shiyanlou 用户设定计划任务 计划任务中设定每周的周一凌晨3点执行一次全备份 计划任务中设定每天凌晨3点执行一次增量备份,周一不执行 请不要编写额外的脚

Oracle数据库定时备份脚本

一.编写脚本 vim /home/backup/oraclebk.sh #! /usr/bin #路径名,指定备份的路径 FILEPATH=/home/backup/oracledata #根据指定日期格式,定义备份数据库文件名 FILENAME=`date +"%Y%m%d_%H%M"` #切换至指定路径,并创建文件夹 cd $FILEPATH mkdir $FILENAME chmod 775 $FILENAME #oracle变量设置 export USER=oracle; ex