mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Merge pull request #11473 from overleaf/msm-ce-deletion-cron
[CE/SP] `cron` jobs for resource deletion GitOrigin-RevId: 7d690340f11cb4aaf38653fdcca6b7944f9a4d0b
This commit is contained in:
@@ -51,6 +51,8 @@ RUN chmod 644 /etc/logrotate.d/sharelatex
|
||||
ADD server-ce/cron /overleaf/cron
|
||||
ADD server-ce/config/crontab-history /etc/cron.d/crontab-history
|
||||
RUN chmod 600 /etc/cron.d/crontab-history
|
||||
ADD server-ce/config/crontab-deletion /etc/cron.d/crontab-deletion
|
||||
RUN chmod 600 /etc/cron.d/crontab-deletion
|
||||
|
||||
# Copy Phusion Image startup and shutdown scripts to their locations
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
3
server-ce/config/crontab-deletion
Normal file
3
server-ce/config/crontab-deletion
Normal file
@@ -0,0 +1,3 @@
|
||||
5 * * * * root /overleaf/cron/deactivate-projects.sh >> /var/log/sharelatex/cron-deactivate-projects.log 2>&1
|
||||
15 * * * * root /overleaf/cron/delete-users.sh >> /var/log/sharelatex/cron-delete-users.log 2>&1
|
||||
20 * * * * root /overleaf/cron/delete-projects.sh >> /var/log/sharelatex/cron-delete-projects.log 2>&1
|
||||
28
server-ce/cron/deactivate-projects.sh
Executable file
28
server-ce/cron/deactivate-projects.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
echo "-------------------------"
|
||||
echo "Deactivating old projects"
|
||||
echo "-------------------------"
|
||||
date
|
||||
|
||||
ENABLE_CRON_RESOURCE_DELETION=$(cat /etc/container_environment/ENABLE_CRON_RESOURCE_DELETION)
|
||||
|
||||
if [[ "${ENABLE_CRON_RESOURCE_DELETION:-null}" != "true" ]]; then
|
||||
echo "Skipping old project deactivation due to ENABLE_CRON_RESOURCE_DELETION not set to true"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
WEB_URL='http://localhost:3000'
|
||||
|
||||
USER=$(cat /etc/container_environment/WEB_API_USER)
|
||||
PASS=$(cat /etc/container_environment/WEB_API_PASSWORD)
|
||||
|
||||
curl -v -X POST \
|
||||
-u "${USER}:${PASS}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"numberOfProjectsToArchive":"720","ageOfProjects":"7"}' \
|
||||
"${WEB_URL}/internal/deactivateOldProjects"
|
||||
|
||||
echo "Done."
|
||||
25
server-ce/cron/delete-projects.sh
Executable file
25
server-ce/cron/delete-projects.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
echo "-------------------------"
|
||||
echo "Expiring deleted projects"
|
||||
echo "-------------------------"
|
||||
date
|
||||
|
||||
ENABLE_CRON_RESOURCE_DELETION=$(cat /etc/container_environment/ENABLE_CRON_RESOURCE_DELETION)
|
||||
|
||||
if [[ "${ENABLE_CRON_RESOURCE_DELETION:-null}" != "true" ]]; then
|
||||
echo "Skipping project expiration due to ENABLE_CRON_RESOURCE_DELETION not set to true"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
WEB_URL='http://localhost:3000'
|
||||
|
||||
USER=$(cat /etc/container_environment/WEB_API_USER)
|
||||
PASS=$(cat /etc/container_environment/WEB_API_PASSWORD)
|
||||
|
||||
curl -X POST -v -u "${USER}:${PASS}" \
|
||||
"${WEB_URL}/internal/expire-deleted-projects-after-duration"
|
||||
|
||||
echo "Done."
|
||||
25
server-ce/cron/delete-users.sh
Executable file
25
server-ce/cron/delete-users.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
echo "----------------------"
|
||||
echo "Expiring deleted users"
|
||||
echo "----------------------"
|
||||
date
|
||||
|
||||
ENABLE_CRON_RESOURCE_DELETION=$(cat /etc/container_environment/ENABLE_CRON_RESOURCE_DELETION)
|
||||
|
||||
if [[ "${ENABLE_CRON_RESOURCE_DELETION:-null}" != "true" ]]; then
|
||||
echo "Skipping user expiration due to ENABLE_CRON_RESOURCE_DELETION not set to true"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
WEB_URL='http://localhost:3000'
|
||||
|
||||
USER=$(cat /etc/container_environment/WEB_API_USER)
|
||||
PASS=$(cat /etc/container_environment/WEB_API_PASSWORD)
|
||||
|
||||
curl -X POST -v -u "${USER}:${PASS}" \
|
||||
"${WEB_URL}/internal/expire-deleted-users-after-duration"
|
||||
|
||||
echo "Done."
|
||||
Reference in New Issue
Block a user