Commit 13c2a5db authored by Łukasz Nowak's avatar Łukasz Nowak Committed by Thomas Gambier

caddy-frontend: Create "rotation" script

As some tools are not configurable with logrotate provide a script to
"rotate" files generated by those tools.
This script more or less follows logrotate behaviour:

 * moves rotated files to logrotate directory
 * compresses them with xz
 * have to be configured to keep only files for some days
parent e4754a39
...@@ -100,6 +100,10 @@ md5sum = 959f49437cffb096368f0b6434f06d3d ...@@ -100,6 +100,10 @@ md5sum = 959f49437cffb096368f0b6434f06d3d
filename = templates/validate-script.sh.in filename = templates/validate-script.sh.in
md5sum = 3174bf29f439d14e292f8719bba19a7a md5sum = 3174bf29f439d14e292f8719bba19a7a
[template-rotate-script]
filename = templates/rotate-script.sh.in
md5sum = 8c150e1e6c993708d31936742f3a7302
[caddyprofiledeps-setup] [caddyprofiledeps-setup]
filename = setup.py filename = setup.py
md5sum = d9b6476bb0b36cf463fddb00d41dfbaa md5sum = d9b6476bb0b36cf463fddb00d41dfbaa
......
...@@ -9,6 +9,7 @@ extends = ...@@ -9,6 +9,7 @@ extends =
../../component/rdiff-backup/buildout.cfg ../../component/rdiff-backup/buildout.cfg
../../component/trafficserver/buildout.cfg ../../component/trafficserver/buildout.cfg
../../component/6tunnel/buildout.cfg ../../component/6tunnel/buildout.cfg
../../component/xz-utils/buildout.cfg
../../stack/nodejs.cfg ../../stack/nodejs.cfg
../../stack/caucase/buildout.cfg ../../stack/caucase/buildout.cfg
...@@ -113,12 +114,14 @@ sha256sum = ${coreutils:location}/bin/sha256sum ...@@ -113,12 +114,14 @@ sha256sum = ${coreutils:location}/bin/sha256sum
kedifa = ${:bin_directory}/kedifa kedifa = ${:bin_directory}/kedifa
kedifa-updater = ${:bin_directory}/kedifa-updater kedifa-updater = ${:bin_directory}/kedifa-updater
kedifa-csr = ${:bin_directory}/kedifa-csr kedifa-csr = ${:bin_directory}/kedifa-csr
xz_location = ${xz-utils:location}
monitor_template = ${monitor-template:output} monitor_template = ${monitor-template:output}
template_cached_slave_virtualhost = ${template-cached-slave-virtualhost:target} template_cached_slave_virtualhost = ${template-cached-slave-virtualhost:target}
template_caddy_frontend_configuration = ${template-caddy-frontend-configuration:target} template_caddy_frontend_configuration = ${template-caddy-frontend-configuration:target}
template_graceful_script = ${template-graceful-script:target} template_graceful_script = ${template-graceful-script:target}
template_validate_script = ${template-validate-script:target} template_validate_script = ${template-validate-script:target}
template_rotate_script = ${template-rotate-script:target}
template_caddy_lazy_script_call = ${template-caddy-lazy-script-call:target} template_caddy_lazy_script_call = ${template-caddy-lazy-script-call:target}
template_default_slave_virtualhost = ${template-default-slave-virtualhost:target} template_default_slave_virtualhost = ${template-default-slave-virtualhost:target}
template_empty = ${template-empty:target} template_empty = ${template-empty:target}
...@@ -237,6 +240,10 @@ filename = storage.config.jinja2 ...@@ -237,6 +240,10 @@ filename = storage.config.jinja2
url = ${:_profile_base_location_}/templates/trafficserver/${:filename} url = ${:_profile_base_location_}/templates/trafficserver/${:filename}
filename = logging.config.jinja2 filename = logging.config.jinja2
[template-rotate-script]
<=download-template
filename = rotate-script.sh.in
[template-caddy-lazy-script-call] [template-caddy-lazy-script-call]
<=download-template <=download-template
filename = apache-lazy-script-call.sh.in filename = apache-lazy-script-call.sh.in
......
#!/bin/sh
set -e
LOG_DIR={{ log_dir }}
LOGROTATE_DIR={{ rotate_dir }}
PATTERN={{ pattern }}
COMPRESS={{ xz_binary }}
KEEP_DAYS={{ keep_days }}
# Move out ${PATTERN} files
find ${LOG_DIR} -maxdepth 1 -type f -name ${PATTERN} -exec mv {} ${LOGROTATE_DIR}/ \;
# Compress
find ${LOGROTATE_DIR} -maxdepth 1 -type f -name ${PATTERN} -exec ${COMPRESS} -9 {} \;
# Retent old files
find ${LOGROTATE_DIR} -maxdepth 1 -type f -mtime +${KEEP_DAYS} -delete
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment