From a737965a1426ef10fb2893573d0d88140b2d259a Mon Sep 17 00:00:00 2001 From: Dominik Turecek Date: Jul 09 2019 12:03:38 +0000 Subject: [frontend] add daily database dump --- diff --git a/frontend/conf/cron.daily/copr-frontend-optional b/frontend/conf/cron.daily/copr-frontend-optional index f578f29..ae575b9 100644 --- a/frontend/conf/cron.daily/copr-frontend-optional +++ b/frontend/conf/cron.daily/copr-frontend-optional @@ -4,3 +4,4 @@ #runuser -c 'copr-frontend notify_outdated_chroots' - copr-fe #runuser -c 'copr-frontend delete_outdated_chroots' - copr-fe +#/usr/libexec/copr_dump_db.sh /var/lib/copr/data/db_dumps/ diff --git a/frontend/copr-frontend.spec b/frontend/copr-frontend.spec index 0e464a0..e58bd8c 100644 --- a/frontend/copr-frontend.spec +++ b/frontend/copr-frontend.spec @@ -230,9 +230,11 @@ install -d %{buildroot}%{_sysconfdir}/cron.hourly install -d %{buildroot}%{_sysconfdir}/cron.daily install -d %{buildroot}/%{_bindir} install -d %{buildroot}%{_unitdir} +install -d %{buildroot}%{_libexecdir} install -p -m 755 conf/cron.hourly/copr-frontend* %{buildroot}%{_sysconfdir}/cron.hourly install -p -m 755 conf/cron.daily/copr-frontend* %{buildroot}%{_sysconfdir}/cron.daily +install -p -m 755 coprs_frontend/run/copr_dump_db.sh %{buildroot}%{_libexecdir} cp -a coprs_frontend/* %{buildroot}%{_datadir}/copr/coprs_frontend sed -i "s/__RPM_BUILD_VERSION/%{version}-%{release}/" %{buildroot}%{_datadir}/copr/coprs_frontend/coprs/templates/layout.html @@ -333,6 +335,7 @@ usermod -L copr-fe %config %attr(0755, root, root) %{_sysconfdir}/cron.daily/copr-frontend %config(noreplace) %attr(0755, root, root) %{_sysconfdir}/cron.hourly/copr-frontend-optional %config(noreplace) %attr(0755, root, root) %{_sysconfdir}/cron.daily/copr-frontend-optional +%{_libexecdir}/copr_dump_db.sh %exclude_files flavor %exclude_files devel diff --git a/frontend/coprs_frontend/coprs/templates/layout.html b/frontend/coprs_frontend/coprs/templates/layout.html index 6dc1271..5252b01 100644 --- a/frontend/coprs_frontend/coprs/templates/layout.html +++ b/frontend/coprs_frontend/coprs/templates/layout.html @@ -123,6 +123,7 @@
  • API
  • GDPR
  • RSS
  • +
  • Database Dump
  • diff --git a/frontend/coprs_frontend/run/copr_dump_db.sh b/frontend/coprs_frontend/run/copr_dump_db.sh new file mode 100755 index 0000000..e6b3fad --- /dev/null +++ b/frontend/coprs_frontend/run/copr_dump_db.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +if test "$#" -ne 1; then + echo "Specify dump directory" + exit 1 +fi + +dump_dir=$1 + +runuser -c 'pg_dump --exclude-table-data "*_private" coprdb' - postgres \ + | runuser -c "gzip > $dump_dir/copr_db-$(date '+%Y-%m-%d_%H-%M').gz" - copr-fe \ + +find "$dump_dir" -name 'copr_db-*.gz' -mtime +1 -delete