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

可以这么说,没有数据库,一切就是个蛋,没有数据库备份,一切还是个蛋,你可以想象数据库备份多么重要。不会linux,不会写shell的朋友麻烦先去补补。不过你说我牛逼,不补也能看懂,那没问题,哈哈,废话不说了
前几篇博客已经相继公开了 去转盘网 的所有技术细节,如下:

百度网盘爬虫
中文分词算法
邀请好友注册
js分页部分代码

这篇博客我将继续公开数据库自动备份的代码。可以这么说,没有数据库,一切就是个蛋,没有数据库备份,一切还是个蛋,你可以想象数据库备份多么重要。不会linux,不会写shell的朋友麻烦先去补补。不过你说我牛逼,不补也能看懂,那没问题,哈哈,废话不说了。老规矩,上代码:
  1. #!/bin/bash
  2. time=$(date +"%d-%m-%Y")
  3. pre=/home/ubuntu #想放到那里麻烦自己配置下哈
  4.  if [ ! -"$pre/data_backup/$time" ]
  5.  then
  6.   mkdir -p $pre/data_backup/$time
  7.   echo "create $pre/data_backup/$time"
  8.  else
  9.   echo "exist $pre/data_backup/$time"
  10.  fi
  11.  if [ -"$pre/data_backup/$time" ]
  12.  then
  13.  mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun user > $pre/data_backup/$time/user.sql
  14.  mysqldump -h10.66.102.75 -uroot -p123456--opt winrun CategoryInfo  > $pre/data_backup/$time/CategoryInfo.sql
  15.  mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_info > $pre/data_backup/$time/admin_info.sql
  16.  mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_loginfo > $pre/data_backup/$time/admin_loginfo.sql
  17.  mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_notice_info  > $pre/data_backup/$time/admin_notice_info.sql
  18.  mysqldump -h10.66.102.75 -uroot -p123456--opt winrun advertising_info  > $pre/data_backup/$time/advertising_info.sql
  19.  mysqldump -h10.66.102.75 -uroot -p123456--opt winrun ajax_request_info  > $pre/data_backup/$time/ajax_request_info.sql
  20.  mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun bt_file_info  > $pre/data_backup/$time/bt_file_info.sql
  21.  echo "backup finished"
  22.  cd $pre/data_backup #enter dir
  23.  zip -r $time.zip $time/
  24.  rm -fr $time #delete
  25.  cd -
  26.  echo "zip backup database finished"
  27.  else
  28.  echo "can not find backup file"
  29.  fi
复制代码
注意,我的密码我已经改了,这个不能告诉你们,所以喜欢copy的孩子麻烦自己该密码。下面我教大家玩下crotab,代码如下:
  1. # Edit this file to introduce tasks to be run by cron.
  2.  #
  3.  # Each task to run has to be defined through a single line
  4.  # indicating with different fields when the task will be run
  5.  # and what command to run for the task
  6.  #
  7.  # To define the time you can provide concrete values for
  8.  # minute (m), hour (h), day of month (dom), month (mon),
  9.  # and day of week (dow) or use '*' in these fields (for 'any').#
  10.  # Notice that tasks will be started based on the cron's system
  11.  # daemon's notion of time and timezones.
  12.  #
  13.  # Output of the crontab jobs (including errors) is sent through
  14.  # email to the user the crontab file belongs to (unless redirected).
  15.  #
  16.  # For example, you can run a backup of all your user accounts
  17.  # at 5 a.m every week with:
  18.  # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
  19.  #
  20.  # For more information see the manual pages of crontab(5) and cron(8)
  21.  #
  22.  # m h  dom mon dow   command
  23.  10 1 * * 1,3,5  /home/backup.sh >> /home/backup.log
复制代码
有用的是最下面的这一句,看到没有,备份完了还得有个log,不然谁知道备份成什么样子了,一点都不懂crontab麻烦自己百度下,我也一时给你讲不明白。

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

技术在于分享,开源,去转盘不吝啬任何技术,欢迎关注微博或者微信,随时交流。本人建个qq群,欢迎大家一起交流技术, 群号:512245829 喜欢微博的朋友关注:转盘娱乐即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值