热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用ftp进行数据库的备份

备份的时候该用什


前言

    FTP作为一种古老的协议,已经存在了很久,主要的作用是来进行文件共享。


    数据库作为一种关键的服务,数据文件也是最重要的,那么一些数据库的元数据可以放在ftp中进行备份。

使用ftp服务器备份是否妥当 

    ftp是file transfer protocol,也就是文件传输协议,通过tcp21端口来进行命令和控制的传输,使用其他的随机端口来传输数据。


    每次想到备份的时候,第一件事就是想到备份的高可用性,如果这个ftp挂了呢,或者这个ftp是否进行了告警的设置,有的时候,人们总说,我有多少多少的备份,然后一检查ftp服务,no。。。。早就挂了,这个备份早就不存在了,或者这个ftp的磁盘空间早就满了。


    在进行备份的时候,需要考虑几个问题,第一个就是备份是否任务是否每次都是成功,这个必须要进行检查,或许由于ftp服务本身的原因没有备份成功,或者由于网络的原因,或者由于ftp服务器的磁盘空间问题,这些都有可能造成备份失败。


    第二个就是定时进行校验备份的数据文件,这个数据文件是否正确,是否能恢复数据库,需要时不时的进行一次演练,很多时候,每次都的确备份了,也备份成功了,但是却不一定真正能恢复数据库。


    第三个就是ftp服务器本身的高可用,是否高可用,在进行备份的时候,如果备份不成功,是否有重试机制?是否有邮件短信通知的功能?这些或许都要考虑,在ftp服务器上使用的raid1或者raid5或者raid10来进行存储?使用集中式存储?使用分布式文件系统来进行存储?各种方案。。。但是,也只能使用最廉价的咯。。。


    第四个就是在进行备份的时候,是否是在半夜进行备份,备份的时候必须采用全量备份?还是增量备份?备份的时候,是否会影响网络功能?是否会造成带宽不足?是不是要在ftp上限制传输的速度?


ftp的弱点

    ftp是明文传输的,如下抓包可以看见所有的认证过程:


    在服务器上进行tcpdump抓包,然后追踪一下tcp流,所有的用户名密码,都出来了,所以是明文传输的协议,那就不安全了,做好网络隔离就好了,当然也有其他的例如sftp使用的是ssh的方式,ftps使用的是ssl的方式。


    在ftp中,进行传输的时候,一般的时候是根据文件类型来自动进行选择传输的模式的,分为按照二进制传输,另外一种为文本传输,当使用二进制传输的方式应该是最好的吧,如果是其他格式的文件,在传输的时候,会进行相应的编码,然后传输的ftp服务器之后,又会根据编码方式进行还原,在需要使用二进制传输的时候:



    上传的时候,注意检查时间,查看客户端时间和服务端时间是否一致(如下相差八个小时,我还以为是时区的问题,当然,他就是,和客户端的时区是有关系的。。。):

    直接使用浏览器访问显示:


    所以要注意客户端工具有的时候也会把这个时间造成困扰。。。。   


    主动与被动,在FTP中,很奇怪的概念就是主动与被动,数据传输通道和命令通道并不是同一个!!!


    主动模式:主动起来总是不好的,每次还需要找客户端的随机端口,服务端使用tcp的20端口去连接客户端的端口+1,进行数据传输。


    被动模式:客户端主动发起连接,使用的端口号是端口+1,然后服务端是随机端口,进行数据传输,


    在使用的时候,注意防火墙,如果是被动模式,那么需要考虑的是防火墙的连接追踪功能必须打开,否则数据不能传输。


    一般情况下都是被动模式(我眼花,看不清楚端口号,谁在骗我。。。):

    服务端端口如下:

    客户端端口如下:




推荐阅读
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ... [详细]
  • 本文深入探讨了 Redis 的两种持久化方式——RDB 快照和 AOF 日志。详细介绍了它们的工作原理、配置方法以及各自的优缺点,帮助读者根据具体需求选择合适的持久化方案。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
author-avatar
手机用户2502931823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有