工作需求,客户需要两台机器上的数据库文件和其他文件一致,其他文件好说,直接使用rsync的增量同步就好了,数据库的同步让我头疼了好久。

刚开始使用增量同步的方法去同步数据库,当主端数据增加后同步,发现并没有什么卵用。​然后就只能每次都做全备了,技术不过关,只能用笨方法,先把备用服务器的数据库文件移走,以时间命名新的备份文件,然后从主端同步数据,考到数据库目录,然后重启数据库,以便web能够正确读到数据,最后find一下7天以前的备份文件并删除,目的也就达到了。说明一下:这样ssh使用key认证无需输入密码。

脚本如下:​

#!/bin/bash

#This script is used to synchronize the recording and the

database file, the synchronization time is three in the

night.

# Author:WangKangkang

# Email:wangkangkang@86call.cn

RSYNC_SERVICE=192.168.10.250

#需要同步数据的服务器

AUTH_USER=root

#用户名

DATE=$(date '+%Y-%m-%d')

#时间

BAKROOT=/var/lib/mysql/

#需要同步数据服务器的数据库路径

BACKUP_DIRECTORY=/var/lib/mysql/

#备份服务器数据库路径

mv $BACKUP_DIRECTORY /mysql_data/mysql-$DATE/

#将备份服务器的数据库文件移走

mkdir /var/lib/mysql/

#重新创建数据库文件夹

chown mysql:mysql $BACKUP_DIRECTORY

#rsync monitor file

rsync -avz --delete $AUTH_USER@$RSYNC_SERVICE:$BAKROOT

$BACKUP_DIRECTORY

#同步数据库文件

echo "$(date)  Recording file

synchronization success" >>

/var/log/asterisk/Rsync.log

#打印日志

#rsync mysql file

rsync -avz --delete

$AUTH_USER@$RSYNC_SERVICE:/var/spool/asterisk/monitor/

/var/spool/asterisk/monitor/

echo "$(date)  mysql file synchronization

success" >>

/var/log/asterisk/Rsync.log

#restart mysql

/etc/init.d/mysqld restart

#重启数据库

echo "$(date)  mysql file synchronization

success" >>

/var/log/asterisk/Rsync.log

#rm 7 days ago mysql_data

find /mysql_data/ -mtime +2 -name mysql-'*' -exec rm -rf

{} \;

#END

linux 同步脚本,Linux:一个简单的同步数据脚本相关推荐

  1. linux脚本怎么发送到桌面,如何在Linux上使用Zenity创建简单的图形Shell脚本

    Zenity使用单个命令为shell脚本添加了图形界面. Shell脚本是自动化重复任务的好方法,但是它们通常只限于终端 - Zenity将它们从终端中导出到桌面上. 我们已经介绍了过去的shell脚 ...

  2. 最近写了一个简单的面向对象的脚本语言 Q 语言

    最近写了一个简单的面向对象的脚本语言 Q 语言,语法类似于 Javascript, 加入了一些 python 的语法功能. 同时实现了部分的 Javascript prototype 的功能 (个人觉 ...

  3. mysql建立数据浏览器_一个简单的MySQL数据浏览器

    一个简单的MySQL数据浏览器 2021-01-21 16:17:28679 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ? ...

  4. [Vue]如何实现一个简单的表格数据筛选查找 (根据ElementUI表格展示)(数组筛选)

    [Vue]如何实现一个简单的表格数据筛选查找 (根据ElementUI表格展示)(数组筛选) 能够解决的问题 在一个完整的数据数据渲染的 elementui 表格组件中,筛选输出数据 目录 布局代码 ...

  5. mysql浏览器_一个简单的MySQL数据浏览器

    一个简单的MySQL数据浏览器 更新时间:2006年10月09日 00:00:00   作者: 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ...

  6. mysql建立数据浏览器_一个简单的MySQL数据浏览器_php

    这个程序可以用来浏览mysql中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ?cmd=table&db={} http://www.gaodaima ...

  7. linux系统写一个脚本,编写一个简单的linuxshell脚本

    shell脚本和windows平台上的bat批处理是一样的,简化用户处理重复动作的操作,shell脚本由shell命令组成.下面是学习啦小编收集整理的编写一个简单的linuxshell脚本,希望对大家 ...

  8. Linux:写一个简单的shell求和脚本并运行

    步骤 1.创建空脚本 touch sum.sh 2.编辑脚本文件 vi sum.sh 3.向脚本中添加代码 #!/bin/bash i=0;sum=0 while [ $i -le 10 ] do l ...

  9. Linux网络容灾,一个简单的两个Linux之间的容灾备份的Demo

    一个简单的两个Linux之间的容灾备份的Demo,设计到的内容有ssh公钥和私钥的原理,rsync命令的用法. 当然使用这些的前提是ssh和rsync已经都安装好. 首先配置ssh,当rsync通过s ...

  10. Linux C语言 创建一个简单的守护进程

    一.什么是守护进程?         首先我们先来简单了解一下什么是守护进程,守护进程在Linux中说白了就是一个后台进程,在后台默默服务,不受终端(会话)控制,生命周期长,在系统引导装入时启动,在系 ...

最新文章

  1. C语言实现通用堆栈(附完整源码)
  2. linux 显示文字在桌面背景,Linux下Xwindow的字体配置(所谓的字体美化)
  3. 《代码大全2》读书笔记(七)
  4. 互联网加大赛历届作品_匠心筑梦 ——家具漆服务系统2020年度涂装大赛成功举办...
  5. 【贪心算法】POJ-1017
  6. jsp学习之路之安装Apache Tomcat7.0服务器
  7. 雷军喜获2019年复旦企业管理杰出贡献奖!
  8. JDBC的批量查询报告内存溢出解决方法
  9. Fabric1.4源码解析:客户端创建通道过程
  10. darknet yolov3 yolov4转caffe 教程
  11. 技术分享 | Hulu视频广告系统中的算法应用
  12. 固件升级(DFU/OTA)
  13. 吴恩达预热新课!万字回顾机器学习!
  14. ELK学习总结(2-1)mavel -》sense 和 索引初始化
  15. 三位半?四位半?万用表显示位数到底怎么看?
  16. java web—水果店管理系统
  17. Python urlparse总结
  18. 按键精灵_字符点阵制作
  19. HDU - 5976 Detachment(贪心思维)
  20. Python pandas库|任凭弱水三千,我只取一瓢饮(2)

热门文章

  1. android各版本占有率,Android 各个版本市场占有率参考
  2. 支付宝沙箱环境——问题使用教程
  3. YOLOv8 Ultralytics:最先进的 YOLO 模型——简介+实战教程
  4. vs2017开发android平板,2018 iPad vs. 2017 iPad跑分对比
  5. 三相逆变器离网控制——PR控制
  6. ISO15693 I-CODE-2卡
  7. make和make install的区别
  8. 安卓端自行实现工信部要求的隐私合规检测一(教你手写Xposed模块代码)
  9. kali安装webdav服务
  10. ZETA进军智慧医疗,助力医院数字化运营