很多人在做服务器维护时都会顺手备份网络设备的配置,比如路由器、交换机、防火墙这些。时间一长,备份文件越积越多,突然发现硬盘空间有点紧张,就开始琢磨:这些配置文件到底占了多少地方?
单个配置文件其实很小
先说结论:单次备份的配置文件通常非常小。大多数网络设备导出的配置是纯文本格式,内容就是一堆命令行语句。比如一台华为或思科交换机的配置,一般也就几KB到几十KB。哪怕你有上百台设备,全部备份一遍,总共可能也就不到1MB。
举个例子,你每天给20台路由器做一次备份,每份配置50KB,一天才新增1MB左右。一个月下来也不过30MB,放在现在动辄几百GB的硬盘里,几乎可以忽略不计。
但长期积累可能悄悄吃掉空间
问题出在“长期”两个字上。如果你每天自动备份,一年就是365份。还是按上面的例子算,一年下来就是10GB以上。听起来不多,但如果再加上版本管理、日志记录、压缩包保留策略不当,空间占用就会慢慢膨胀。
更常见的情况是,有些人习惯把整个设备的运行状态、日志、固件镜像一起打包备份,这就不是单纯的“配置”了。比如一个完整的设备快照可能包含内存转储或系统日志,这种文件动不动就几十MB甚至上百MB,存几次就能占满一个小分区。
真正占空间的往往是备份策略
真正让硬盘告急的,不是配置本身,而是备份方式。比如有人设置成每天全量备份,且永久保留,几年下来几千个文件堆在一起,清理都懒得清。还有的用脚本自动命名保存,却没加压缩,原始文本重复存储,白白浪费I/O和空间。
合理的做法是:
- 只备份关键配置文件(如running-config)
- 启用gzip压缩,.cfg.gz后缀能省90%空间
- 保留最近30天每日备份,每月留一个归档点
- 用rsync或git管理变更,避免重复存储
看看实际例子
下面是一个简单的备份脚本片段,只抓取配置并压缩保存:
ssh admin@192.168.1.1 "show running-config" > /backup/rtr01-$(date +%Y%m%d).cfg
gzip /backup/rtr01-*.cfg
这样每次备份后自动压缩,一个原本45KB的文件压缩后可能只有6KB。一年365次,总大小也不到3MB。
别拿配置背头条,真正的大户是日志和镜像
如果你发现备份目录特别大,建议进去看看具体是哪些文件。八成会发现几个几百MB的日志包或者误传的固件升级文件。真正的配置文本再怎么存也掀不起风浪。定期检查备份内容,删掉非必要文件,比纠结“配置占不占空间”更管用。
所以,网络配置备份本身不占地方,怕的是乱备、滥备、不会收尾。管好策略,哪怕上千台设备,一年也就几MB的事儿。