如何清理石墨耳语的数据?

时间:2012-03-06 15:53:56

标签: graphite

我想删除石墨存储耳语的数据,但石墨文档中没有任何内容。

我采取的一种方法是手动删除/opt/graphite...../whispers/stats...处的文件。

但这很乏味,所以我该怎么做?

2 个答案:

答案 0 :(得分:70)

目前正在删除/ opt / graphite / storage / whisper /中的文件是删除私语数据的正确方法。

至于该过程的单调乏味,如果您尝试删除某种模式,则可以使用find命令。

  

查找/ opt / graphite / storage / whisper -name loadavg.wsp -delete

Similar Question on answers.launchpad.net/graphite

答案 1 :(得分:7)

正如人们所指出的那样,删除文件是可行的方法。扩展了以前的答案,我创建了这个脚本,删除了超过其最大保留期限的任何文件。

cronjob

需要注意的几点 - #!/bin/bash d=$1 now=$(date +%s) MINRET=86400 if [ -z "$d" ]; then echo "Must specify a directory to clean" >&2 exit 1 fi find $d -name '*.wsp' | while read w; do age=$((now - $(stat -c '%Y' "$w"))) if [ $age -gt $MINRET ]; then retention=$(whisper-info.py $w maxRetention) if [ $age -gt $retention ]; then echo "Removing $w ($age > $retention)" rm $w fi fi done find $d -empty -type d -delete 调用非常重要。为了减少对它的调用次数,我已经将MINRET保持不变,因此在1天之前(24 * 60 * 60秒)不会考虑删除任何文件 - 根据您的需要进行调整。可能还有其他事情可以完成工作或通常提高效率,但我还没有必要这样做。