在Linux上设置Autobackup

・5 分钟阅读

介绍

Autobackup是从远程服务器检索数据,并将它存储在本地服务器上的自动备份系统。

要求

  • rsync

安装

你可以在系统上轻松使用git安装AutoBackup ,克隆存储库:


mkdir /opt/
git clone https://github.com/fbrandstetter/Autobackup.git /opt/autobackup/

配置

为此,我们将在存储实例上创建一个SSH key,并向所有计算实例授予访问权限,接下来,我们将从创建key开始:

 
ssh-keygen

 

现在,我们必须将公钥复制到计算实例,打开以下文件~/.ssh/id_rsa.pub并将它复制到计算实例'~/.ssh/authorized_keys


cat ~/.ssh/id_rsa.pub

如果不使用公钥来访问计算实例,必须先在SSH服务器配置中设置已授权的密钥文件,在计算实例上打开以下文件/etc/ssh/sshd_config,并且取消注释以下行:


AuthorizedKeysFile %h/.ssh/authorized_keys

连接

在所有计算机实例上添加存储实例的SSH key后,可以尝试连接到你的某个计算机实例(为了避免以后出现任何问题,请确保连接到所有服务器):


ssh root@COMPUTE_INSTANCE_1

你应该能够登录而无需输入任何密码。

配置Autobackup

Autobackup需要一些配置才能正常工作,打开/opt/autobackup/backup.sh文件,因为任何配置都存储在bash文件本身中,请查看以下行,并且调整它们以适应你的需要:


BACKUPDIR=""
PASSWORD=""
FREEUPSPACE=""
MAXUSED=""

  • BACKUPDIR : 这是存储所有备份的文件夹,
  • PASSWORD:这是用于加密备份的密码。
  • FREEUPSPACE: 定义如果磁盘已满,脚本是否应删除旧备份,
  • MAXUSED : 定义在停止备份或开始删除旧磁盘之前允许的最小磁盘大小,

添加服务器

要备份的所有服务器都存储在 /opt/autobackup/serverlist.template 使用以下格式的文件:


<SERVER_HOSTNAME OR IP>|<USERNAME FOR AUTHENTICATION>|<EXCLUDE LIST>

全局排除

Autobackup会自动备份整个服务器,这意味着它尝试从/递归下载,如果不需要备份整个系统,所以,可以添加特定服务器的全局排除(适用于任何服务器)和特定于服务器的排除。所有全局排除都被存储在文件中 /opt/autobackup/default-excludes.template 文件,你可以添加新的行,添加新的文件夹和文件扩展名:

 
/proc
/dev

 

服务器特定排除

运行不同类型的服务器(例如,Web服务器和数据库服务器),每个服务器都有唯一的排除列表。服务器特定排除文件的格式与全局文件的格式相同,你可以创建一个新文件,为服务器设置EXCLUDE_LIST ,如果你不想为此服务器指定任何排除,请将它设置为empty 。

还原数据

在理想的环境中,我们不用还原加密的备份,但是当遇到问题时,我们需要检索备份,需要很容易恢复它,你可以使用以下命令还原任何备份文件:


openssl aes-256-cbc -d -salt -in BACKUP.tar.aes -out BACKUP.restored.tar
mkdir backup/
tar -xvf BACKUP.restored.tar backup/

BACKUP.tar.aes替换为要还原的备份的文件名,BACKUP.restored.tar将是未加密归档文件的文件名,在上面的例子中,我们已经完成了以下步骤,这些步骤是:

  • 创建新文件夹
  • 将未加密的归档文件还原到文件夹

结束语

Autobackup是一个完全自动化和非常智能的备份脚本,它自动处理我们的备份,Happy Hacking!

Anne655 profile image