]> git.openstreetmap.org Git - chef.git/commitdiff
Convert nginx to use a systemd timer for cleanup
authorTom Hughes <tom@compton.nu>
Tue, 29 Nov 2022 22:43:59 +0000 (22:43 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 29 Nov 2022 22:43:59 +0000 (22:43 +0000)
cookbooks/nginx/metadata.rb
cookbooks/nginx/recipes/default.rb
cookbooks/nginx/templates/default/nginx-old-cache-cleanup.erb

index cd321f6daceaceb7013b0c8b22aba1b9f9600821..6534c587e4d846780a147354f5acb632d2f1fb99 100644 (file)
@@ -11,3 +11,4 @@ depends           "munin"
 depends           "networking"
 depends           "prometheus"
 depends           "ssl"
+depends           "systemd"
index 7053cb1b54e20446cb299f2590a7dd13e4c385c9..72f93e849d363b27ff0fb0dc593c85628a792d0f 100644 (file)
@@ -74,9 +74,26 @@ template "/usr/local/bin/nginx-old-cache-cleanup" do
   mode "755"
 end
 
-cron_d "nginx-old-cache-cleanup" do
-  minute "15"
-  hour "23"
+systemd_service "nginx-old-cache-cleanup" do
+  description "Cleanup nginx cache"
+  exec_start "/usr/local/bin/nginx-old-cache-cleanup"
   user "www-data"
-  command "/usr/bin/timeout 6h /usr/local/bin/nginx-old-cache-cleanup"
+  nice 19
+  io_scheduling_class "idle"
+  runtime_max_sec 6 * 60 * 60
+  sandbox true
+  read_write_paths "/var/cache/nginx"
+end
+
+systemd_timer "nginx-old-cache-cleanup" do
+  description "Cleanup nginx cache"
+  on_calendar "23:15"
+end
+
+service "nginx-old-cache-cleanup.timer" do
+  action [:enable, :start]
+end
+
+cron_d "nginx-old-cache-cleanup" do
+  action :delete
 end
index a67931bff59a1e8e8546827cdefe6255b7a08264..7bd158fc61e649c4d67ebf54deeadfa73790fdce 100644 (file)
@@ -1,10 +1,12 @@
 #!/bin/bash
+
 set -e
-/usr/bin/renice -n 19 $$ >/dev/null
-/usr/bin/ionice -c 3 -p $$ >/dev/null
+
 [[ -d "/var/cache/nginx/fastcgi-cache" ]] && /usr/bin/find /var/cache/nginx/fastcgi-cache/?/??/ -maxdepth 1 -type f -delete 2>/dev/null || /bin/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 2>/dev/null || /bin/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
+
+exit 0