scripts/xymon/tar.client.logfiles.sh

53 lines
1.5 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# Purpose:
# Create an XZ archive of all files between 2 dates.
# Then remove these files
# Call this script from an /var/lib/xymon/hostdata subdirectory or
# /var/lib/xymon/histlogs subdirectory.
# Vars {{{
## Enable (0) or disable (1) debug
debug=0
## Colors {{{
c_redb='\033[1;31m'
c_magentab='\033[1;35m'
c_reset='\033[0m'
## }}}
## Manage files of year
date_year="2019"
## Compress files between these dates
date_start="${date_year}-01-01 00:00:01"
date_end="${date_year}-12-31 23:59:59"
## Best XZ compression level
xz_compression_lvl="-9"
## Fatest XZ compression level
#xz_compression_lvl="-0"
## Get current directory name
current_dir=${PWD##*/}
## Archive name
tar_file_name="${date_year}.${current_dir}${xz_compression_lvl}.tar.xz"
# }}}
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "Create an archive for ${current_dir} files between ${date_start} and ${date_end} using XZ's compression level: ${xz_compression_lvl}."
## Get the list of files between the 2 dates and ignore tar files
find . -type f -newermt "${date_start}" -not -newermt "${date_end}" -not -iname "*.tar*" -print0 | tar cJf "${tar_file_name}" --null -T -
## Check previous return code and if the archive exists with size > 0
if [ "${?}" -eq "0" ] && [ -s "${tar_file_name}" ]; then
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "${tar_file_name} successfully created, the files can be deleted."
find . -type f -newermt "${date_start}" -not -newermt "${date_end}" -not -iname "*.tar*" -delete
fi
exit 0