首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将所有服务器的备份存储在另一台服务器上?

如何将所有服务器的备份存储在另一台服务器上?
EN

Unix & Linux用户
提问于 2020-04-07 00:42:04
回答 1查看 445关注 0票数 0

我有一个新的服务器,我计划用来备份。在这台服务器上,我想从所有其他13台服务器中存储gziped DB。哪种方法是每小时从每个服务器进行备份并将其存储在备份服务器上的最佳方法?

服务器所以Linux Centos

所有13台服务器都有WHM/Cpanel

备份服务器只有CentOS7.7(没有控制面板)

我无法使用cpanel进行备份,因为cpanel不允许每小时进行备份。

EN

回答 1

Unix & Linux用户

发布于 2020-04-08 12:43:41

您可以通过rsynccron来实现这一点。

在每个服务器上创建文件backup.sh,行如下:

代码语言:javascript
复制
#!/bin/bash
mysqldump > /etc/backups/mysqldump.sql
rsync /etc/backups/mysqldump.sql -e ssh <username>@<ip-address-of-backup-server>:/<path-to your-backup-folder>/<server-name>/"$(date "+%Y-%m-%d-%H")"-backup.sql

mysql文档检查转储选项(或使用首选的数据库转储方法)。<server-name>应该是备份所来自的服务器的某种标识符。

将文件放入/etc/cron.hourly中。如果需要不同的时间,可以检查其他/etc/cron.*文件夹或使用crontab发生器并使用命令crontab -e

确保/etc/backups (或您的等价物)存在或创建它(mkdir)。

很少有常见的问题:

  1. 确保在每个服务器上设置ssh键,以便rsync能够以有限的权限连接到备份服务器和/或单独的用户。这取决于你要找什么样的安全措施。
  2. 确保backup.sh脚本是可执行的。
  3. 如果您将backup.sh放在/etc/cron.*文件夹中,它将使用根priveleges运行。如果您出于任何原因不想这样做,请使用crontab -e选项作为所需的用户。
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/578370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档