我有一台 Ubuntu 服务器,它的一项“任务”是使用 rsync/rdiff-backup 镜像/备份位于不同位置的另一台服务器上的文件。
我知道有一些约定,比如网页放在 /var/www 中。
存储备份文件的最佳做法/默认位置是什么?
我考虑过的可能的地方:
/var/backup-看起来它用于操作系统的内部备份
/home/backup - 我可以创建此目录,但如果维护备份是此服务器提供的“服务”,我认为将文件与个人用户文件放在同一文件夹中是错误的
PS我知道这个问题可能是主观的(我收到了警告工具提示),但我认为我所做的事情很常见,而且必须有一个惯例。
答案1
有正確的位置。
文件系统结构有一个标准。其当前版本已经存在十多年了,这对一些 Linux 发行版来说可能是个新鲜事。
文件系统层次结构标准的最新版本是 2.3: http://www.pathname.com/fhs/pub/fhs-2.3.html
在那里,在“目的”部分var
,它解释了为什么使用 是个坏主意/var/backups
:
几个目录是“保留的”,因为它们不能被某些新应用程序任意使用,因为它们会与历史和/或当地惯例相冲突。它们是:
/var/backups /var/cron /var/msgs /var/preserve
正确的位置取决于应用程序及其用途,例如:
/var/lib/<app>/backups
/var/local/<app>/backups
/var/opt/<app>/backups
(我说“类似”是因为您是否使用/var/lib
、/var/local
或/var/opt
取决于应用程序、它在系统中的作用以及它是如何安装的。此外,下的结构/var/lib/<app>
是根据应用程序维护者任意确定的。)
顺便说一句,既然你提到了/var/www
,不是服务网页的正确位置(再次强调,这对一些发行版和软件包维护者来说是个新闻,但 FHS 比他们中的许多人更老,他们显然从未读过它)。服务内容和存储的应用程序数据/资产属于/srv
目录。我从2005年开始使用协议方法,发现它效果很好(/srv/http
、、、等)。/srv/ftp
/srv/git
/srv/svn
假设您正在使用rsync
并且这台机器正在为网络提供备份服务,您将使用:
/srv/rsync/backups
更新
FHS 3.0 版本: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
答案2
没有默认位置。
我不会为此使用任何常规目录。保持服务器不受外部备份的影响,并将其放在明确定义的位置。
我最有可能使用可移动磁盘并安装它。类似于/external_backups
/ 或/media/external_backups/
和其中包含服务器名称的子目录以及这些压缩的 tar 文件。
/home/backup
感觉不对;我会把/home/
它留给用户。如果你想这样做,我会创建一个用户“备份”,并进行与上述相同的设置。
像这样(2x 带有分区,2x 来自/home/backup/
:
- /external_backups/AS400/20150101/backup.tar.gz
- /外部备份/AS400/2015_01_01.tar.gz
- /home/备份/AS400/20150101/备份.tar.gz
- /主页/备份/AS400/2015_01_01.tar.gz
/var/backup
确实供内部使用。Debian 软件包系统会保留上次运行 dpkg 时的一个旧副本/var/lib/dpkg/status-old
。(默认情况下:)为了在发生崩溃或文件系统损坏时保护系统免受更大的损坏,/var/backups
当文件与上次副本不同时,会进行每日备份。这是从 完成的/etc/cron.daily/standard
。
但没有正确或错误的方法(好吧,我放弃了那些疯狂的方法:比如把它们放进去/
或放进去/boot
或其他同样疯狂的东西)。