如何保留一些磁盘空间(例如用于备份)

如何保留一些磁盘空间(例如用于备份)

我有一个装有 Wordpress 的 VPS(包括同一台机器上的存储和数据库)。

现在我想每天备份到外部服务 (AWS S3):问题是,首先我需要生成存储的 tar 和数据库的转储,这些都临时存储在本地文件系统上。基本上,一半的磁盘空间应该保持空闲,以便始终能够执行这一重要操作。

基本上,备份绝不会因为可用磁盘空间不足而失败。

我怎样才能实现这个目标?

如何为文件夹(例如backup文件夹)保留空间(一些GB)?

或者,我可以为某个用户(例如backupdaemon用户)保留一些空间吗?

其他解决方案?

答案1

首先,你需要计算需要多少空间来 tar 和 gzip 压缩所需的文件和数据库

你可以一次只做一项任务,例如:首先备份存储 tar/gzip,将其传输到 AWS S3,然后从磁盘中删除备份文件,这样做需要的空间较少,完成存储备份后,你可以对数据库备份执行相同的过程

此外,如果可能的话,您可以扩展驱动器或添加额外的驱动器进行备份,您可以编写一个脚本来执行所有这些任务并将其添加到 cron,您还可以在电子邮件中添加警报,以便您可以获得成功和失败备份的更新,您还可以使用 nagios 等监控工具,它可以向您发送服务器磁盘空间警报

另外,如果你每天都要备份到 AWS S3,那么我建议为你的 S3 存储桶设置生命周期,这样在一定时间后,你的数据就会移动到 AWS Glacier,这将节省一些钱

答案2

如果不知道您的 VPS 提供商,很难知道是否允许这样做。一种“简单”的方法是创建一个单独的文件系统。即您有/var/backup_tmp或文件系统上有足够的空间用于备份。

另一种方法是,假设您的软件不以 root 身份运行。配置文件系统引号,这样您的软件就无法使用超过一定数量的存储。

无论你选择哪种解决方案,请考虑在 VPS 上安装类似 monit 的程序,并将其配置为在存储空间用完时发送警报。同时确保备份软件在发生故障时通知你。

当然可能更好。使用以下备份工具博格这实际上不需要中间存储。不确定它是否可以备份到 S3,但有基于云的提供商可以与 borg 一起使用。1 [2]

相关内容