我有一个新的服务器,我计划用来备份。在这台服务器上,我想从所有其他13台服务器中存储gziped DB。哪种方法是每小时从每个服务器进行备份并将其存储在备份服务器上的最佳方法?
服务器所以Linux Centos
所有13台服务器都有WHM/Cpanel
备份服务器只有CentOS7.7(没有控制面板)
我无法使用cpanel进行备份,因为cpanel不允许每小时进行备份。
发布于 2020-04-08 12:43:41
您可以通过rsync和cron来实现这一点。
在每个服务器上创建文件backup.sh,行如下:
#!/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)。
很少有常见的问题:
rsync能够以有限的权限连接到备份服务器和/或单独的用户。这取决于你要找什么样的安全措施。backup.sh脚本是可执行的。backup.sh放在/etc/cron.*文件夹中,它将使用根priveleges运行。如果您出于任何原因不想这样做,请使用crontab -e选项作为所需的用户。https://unix.stackexchange.com/questions/578370
复制相似问题