我需要定期将 Windows 系统中的一些文件备份到本地(不同的驱动器上)和 Internet 上的远程位置。我打算使用7zip在本地机器上创建增量备份,然后编写脚本温SCP将它们发送到运行 OpenSSH 服务器的远程机器,该服务器将(可能通过 cron 作业)负责记录备份日期并将其存储在整齐的文件夹中。
有了上面提供的链接,我想我可以将它们粘合在一起,但我的问题是这是否是一个“好的”解决方案。我是否忽略了这种方法的某些方面?有没有更好(更简单?)的方法来做这件事(注意:该项目的预算为 0,因此虽然我是 Backblaze 的忠实粉丝,但这次它已经过时了)?我是否忽略了任何不必要的安全问题?我想我在这里寻找的是“最佳实践”之类的东西。
谢谢!
答案1
答案2
还有表里不一如果您对 rsync + gnupg 加密 + ssh / s3 / 各种其他存储后端感兴趣。要使其在 Windows 上运行需要做一些准备工作(即安装 Cygwin 和必要的支持软件包),但这并不难。
您将获得加密、差异备份的好处,您可以将其存储在 Linux(或其他支持 SSH 的服务器)、Amazon 的 S3 等上。
答案3
我支持 rsync + ssh,这是我在自己的网络上使用的
还可以考虑使用 rsnapshot 进行备份
答案4
(从我刚放在 Stack Overflow 上的一篇文章中复制过来)
MSSQLTips 上的一些人有一些非常有用的文章,与此最相关的文章是“自动执行 SQL Server 2005 Express 备份并删除旧备份文件“
基本方法是使用 Windows 任务计划程序设置两个任务。一个任务运行 TSQL 脚本,该脚本会为所有 MSSQL 数据库(TEMPDB 除外)生成单独的备份文件,并将数据库名称和文件名中的日期/时间戳保存到指定目录中。第二个任务运行 VBScript 脚本,该脚本遍历该目录并删除所有超过 3 天且扩展名为 .BAK 的文件。
这两个脚本都需要对您的环境进行少量的编辑(路径、保留这些数据库转储的时间),但非常接近即插即用。
请注意,如果您对这些或目录权限的处理不够严谨,可能会产生安全隐患,因为它们是纯文本文件,需要以一定级别的权限运行。千万不要马虎。
我不知道 MSSQL 的主/从类型设置的要求,但它确实支持复制,并且有文档可供参考。希望同一文档能够指出是否可以使用 MSDE/Express 以及完整产品来实现这一点。
原始答案,由于我的阅读理解能力很差,并且我将 MSSQL 读成了 MySQL,因此修改为如下内容:
对于数据库备份,请查看 MySQL 文档。除其他选项外,mysqldump 或(可能)mysqlhotcopy 可让您转储数据库内容以进行备份,即使数据库正在使用中。从我对文档的阅读来看,您通常不会遇到明显的中断。
这种方法的一个缺点是它每次都会给您一个新的转储文件,因此 rsync 可能无法帮助减少网络流量。
另一个选择可能是运行主从 MySQL 服务器——我自己还没有这样做过(只有一个客户使用 MySQL 做了一些事情),但有很多文档,包括如何在不中断 MySQL 的情况下备份 MySQL 数据库关于 HowToForge