我有一个小问题想问你。我管理着一个小型专用服务器Ubuntu 服务器 16.04 LTS已安装。
我搜索了很多,但我没有找到一个坚实的和在第一个简单的将我的服务器备份到另一台服务器的解决方案。
更多细节:我使用 Wordpress、Apache、Php、2 个 Mysql 数据库和 SFTP 服务。里面有一个活跃的域和一个子域。
问题是:我刚刚实施了仅针对我网站内容的备份解决方案。但万一磁盘坏了,例如,有没有办法备份整个服务器(例如每月一次)文件和已安装的程序(包括操作系统),并创建一种文件,我可以使用它来恢复所有的配置/文件/已安装的程序 在另一台服务器中?
我没有服务器的物理访问权限,并且没有可用于托管(Kimsufi)的快照服务。
我找到了这个建议,但是我无法访问 GRUB:焦油溶液。
答案1
有很多工具可以用来复制文件系统,dd
例如rsync
同步
允许通过 ssh 复制
通过 ssh 将您的主目录复制到另一台服务器
rsync -a --delete --quiet -e ssh /folder/to/backup remoteuser@remotehost:/location/of/backup
完整系统备份
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup/folder
最后使用 rsync 作为磁盘克隆工具
rsync -qaHAXS SOURCE_DIR DESTINATION_DIR
来自手册页
-H, --hard-links preserve hard links
-A, --acls preserve ACLs (implies -p)
-X, --xattrs preserve extended attributes
-S, --sparse handle sparse files efficiently
日
我认为你不能通过 ssh 使用 dd,所以你必须使用脚本来上传文件或者直接复制到 usb 上,但磁盘克隆(我认为你问的)正是 dd 的设计目的
克隆整个磁盘
dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync status=progress
您可能能够尝试通过 ssh 隧道使用 dd 的这种解决方法,但我的建议是先在几台虚拟机上测试它,然后再在裸机上运行它,因为虽然它dd
是一种强大的工具,正如本叔叔所说“能力越大,责任越大”,但使用 dd 很容易破坏文件系统。事不宜迟……解决方法
ssh server1 'dd if=/some/file' | ssh server2 'dd of=/new/file/path'