diff --git a/etc/rotate_archives.sh b/etc/rotate_archives.sh deleted file mode 100755 index f0bbe10..0000000 --- a/etc/rotate_archives.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -glob() { set +o noglob; echo ${@}; set -o noglob; }; -map() { local _ifs="${IFS}" _sep="${1}"; shift; IFS="${_sep}"; echo "${*}"; IFS="${_ifs}"; }; -rc() { echo "${@}"; "${@}"; }; - -rotate_build() { - local _build_dname="${1}" _hostname="${2}" _limit="${3}"; - local _dist_dates=""; - for _dist_fname in $(glob \ - ${_build_dname}/*.tar.* \ - ${_build_dname}/*.zip \ - ${_build_dname}/*.zip.*); do - if [ -e "${_dist_fname}" ]; then - _dist_date="${_dist_fname#*@${_hostname}-}"; - _dist_date="${_dist_date%.tar.*}"; - _dist_date="${_dist_date%.zip}"; - _dist_date="${_dist_date%.zip.*}"; - _dist_date="${_dist_date%-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]}"; - _dist_dates="${_dist_dates:+${_dist_dates} }${_dist_date}"; - fi; - done; - if [ -n "${_dist_dates}" ]; then - rotate_build_dates "${_build_dname}" "${_dist_dates}" "${_limit}"; - fi; -}; - -rotate_build_dates() { - local _build_dname="${1}" _dist_dates="${2}" _limit="${3}"; - local _dist_dates_count="" _dist_dates_count_limit="" _dist_fname="" _nl=" -"; _dist_dates="$(map "${_nl}" ${_dist_dates} | sort | uniq)"; - _dist_dates_count="$(echo "${_dist_dates}" | wc -l)"; - if [ "${_dist_dates_count}" -gt "${_limit}" ]; then - _dist_dates_count_limit=$((${_dist_dates_count}-${_limit})); - _dist_dates="$(echo "${_dist_dates}" |\ - sed -n "1,${_dist_dates_count_limit}p")"; - for _dist_date in ${_dist_dates}; do - for _dist_fname in $(glob \ - ${_build_dname}/*-${_dist_date}-*.tar.xz*); do - rc rm -f "${_dist_fname}"; - done; - done; - fi; -}; - -rotate_builds() { - local _build_dnames="${1}" _limit="${2}"; - local _hostname="$(hostname)"; - for _build_dname in ${_build_dnames}; do - rotate_build "${_build_dname}" "${_hostname}" "${_limit}"; - done; -}; - -set -o errexit -o noglob; -rotate_builds "${1}" "${2:-3}"; - -# vim:noexpandtab sw=8 ts=8