企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 清理过期的旧文件 我们每隔一段时间就会打扫一次房间。 Puppet 的 tidy 资源可以帮助你清理已过期的旧文件,从而减少不必要的磁盘占用。 例如,如果你像 [生成报告](#ch02sec01) 一节描述的那样启用了 Puppet 的报告, 就会希望定期清除旧的报告文件。 #### 操作步骤 1. 添加如下代码到你的配置清单: ``` tidy { "/var/lib/puppet/reports": age => "1w", recurse => true, } ``` 2. 运行 Puppet: ``` # puppet agent -–test info: Retrieving plugin info: Caching catalog for cookbook. bitfieldconsulting.com notice: /Stage[main]//Node[cookbook]/Tidy[/var/lib/puppet/ reports]: Tidying File[/var/lib/puppet/reports/cookbook. bitfieldconsulting.com/201102241546.yaml] notice: /Stage[main]//Node[cookbook]/Tidy[/var/lib/puppet/ reports]: Tidying File[/var/lib/puppet/reports/cookbook. bitfieldconsulting.com/20110214727.yaml] ... info: Applying configuration version '1306149187' notice: /File[/var/lib/puppet/reports/cookbook.bitfieldconsulting. com/201102241546.yaml]/ensure: removed notice: /File[/var/lib/puppet/reports/cookbook.bitfieldconsulting. com/201102141727.yaml]/ensure: removed … notice: Finished catalog run in 1.48 seconds ``` #### 工作原理 Puppet 会搜索指定路径下所有匹配 age 参数的文件:本例中的存活时间为 1w(一周)。 也可以搜索子目录(recurse => true)。 任何与你指定的标准匹配的文件都会被删除。 #### 更多用法 你可以指定文件存活时间的单位,单位可以是:秒(s)、小时(h)、天(d)和周(w),下面是几个例子: * 60s * 180m * 24h * 30d * 4w 你也可以指定文件的大小,当文件的尺寸大于你指定的尺寸后就会删除它,例如: ``` size => "100m", ``` 这会删除所有大于 100 megabytes(m) 的文件。单位也可以是:kilobytes(k)或 bytes(b)。 > ![注记](https://box.kancloud.cn/2016-05-12_5733eec619643.png) > 值得注意的是,如果你同时指定了 age 和 size 参数,它们将被视为独立的标准 (即参数之间是 “或” 逻辑而不是 “与” 逻辑)。 例如,你对一个目录的文件指定了如下的参数,那么 Puppet 会删除所有超过一天的文件, 同时也会删除所有尺寸大于 512KB 的文件。 > ``` > age => "1d", > size => "512k", > > ```