From: Grant Slater Date: Tue, 31 Mar 2020 20:47:57 +0000 (+0100) Subject: nginx: cleanup historical cache dir X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/ffdc1400431395dfad46e36c05f79466109d36b6 nginx: cleanup historical cache dir --- diff --git a/cookbooks/nginx/recipes/default.rb b/cookbooks/nginx/recipes/default.rb index a55dc14be..f17e3dc44 100644 --- a/cookbooks/nginx/recipes/default.rb +++ b/cookbooks/nginx/recipes/default.rb @@ -59,3 +59,17 @@ package "libwww-perl" munin_plugin "nginx_request" munin_plugin "nginx_status" + +template "/usr/local/bin/nginx-old-cache-cleanup" do + source "nginx-old-cache-cleanup.erb" + owner "root" + group "root" + mode 0o755 +end + +template "/etc/cron.d/nginx-old-cache-cleanup" do + source "nginx-old-cache-cleanup.cron.erb" + owner "root" + group "root" + mode 0o644 +end diff --git a/cookbooks/nginx/templates/default/nginx-old-cache-cleanup.erb b/cookbooks/nginx/templates/default/nginx-old-cache-cleanup.erb new file mode 100644 index 000000000..bb1cf8f36 --- /dev/null +++ b/cookbooks/nginx/templates/default/nginx-old-cache-cleanup.erb @@ -0,0 +1,10 @@ +#!/bin/bash +set -e +/usr/bin/renice -n 19 $$ +/usr/bin/ionice -c 3 -p $$ +[[ -d "/var/cache/nginx/fastcgi-cache" ]] && /usr/bin/find /var/cache/nginx/fastcgi-cache/?/??/ -maxdepth 1 -type f -delete || true +[[ -d "/var/cache/nginx/fastcgi-cache" ]] && /usr/bin/find /var/cache/nginx/fastcgi-cache/ -maxdepth 2 -mindepth 2 -type d -wholename '*/?/??' -delete +[[ -d "/var/cache/nginx/fastcgi-cache" ]] && /usr/bin/find /var/cache/nginx/fastcgi-cache/ -maxdepth 1 -mindepth 1 -type d -wholename '*/?' -delete +[[ -d "/var/cache/nginx/proxy-cache" ]] && /usr/bin/find /var/cache/nginx/proxy-cache/?/??/ -maxdepth 1 -type f -delete || true +[[ -d "/var/cache/nginx/proxy-cache" ]] && /usr/bin/find /var/cache/nginx/proxy-cache/ -maxdepth 2 -mindepth 2 -type d -wholename '*/?/??' -delete +[[ -d "/var/cache/nginx/proxy-cache" ]] && /usr/bin/find /var/cache/nginx/proxy-cache/ -maxdepth 1 -mindepth 1 -type d -wholename '*/?' -delete diff --git a/cookbooks/nginx/templates/nginx-old-cache-cleanup.cron.erb b/cookbooks/nginx/templates/nginx-old-cache-cleanup.cron.erb new file mode 100644 index 000000000..9f21e45a0 --- /dev/null +++ b/cookbooks/nginx/templates/nginx-old-cache-cleanup.cron.erb @@ -0,0 +1,2 @@ +# Cleanup old nginx cache storage +15 23 * * * www-data /usr/bin/timeout 6h /usr/local/bin/nginx-old-cache-cleanup