You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sessioncommunities.online/etc/archives/archive-recent.sh

19 lines
625 B
Bash

#!/bin/sh
self="$(basename "$0")"
files_daily=$((24*60/45))
# TODO: Increase these for compression ratio
# Values are low for test run
recent_file_limit=$((files_daily * 2))
recent_file_archive_size=$((files_daily))
archives_dir="cache-lt/archive/servers"
base_file_name="$archives_dir/recent/servers.json"
num_recent_files=$(/bin/ls -1 $base_file_name* 2>/dev/null | wc -l)
if [ "$num_recent_files" -ge "$recent_file_limit" ]; then
>&2 echo "$self: recent file limit reached, compressing"
/bin/ls -1tr $base_file_name* |
head -n "$recent_file_archive_size" |
xargs tar cf "$archives_dir/servers.tar" --remove-files
fi