diff --git a/resources/ext/cli/prune.erb b/resources/ext/cli/prune.erb new file mode 100644 index 0000000000..feb8073456 --- /dev/null +++ b/resources/ext/cli/prune.erb @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +usage() { + echo "Prune contents of report and bucket directories." + echo + echo "Usage: puppetserver prune []" + echo " bucketdir|reportdir work on either bucketdir or reportdir" + echo " delete data older than this amount of time (default: 14d)" +} + +prune() { + DIR="$1" + AGE=${2:-14d} + puppet apply --no-report --log_level=warning -e "tidy { \$settings::${DIR}: age=>'${AGE}', recurse=>true, rmdirs=>true }" +} + +case $1 in + -h|--help) + usage + exit 0 + ;; + bucketdir|reportdir) + prune "$1" "$2" + ;; + *) + echo "Error: unknown argument." + usage + exit 1 + ;; +esac