36 lines
1.1 KiB
Makefile
Executable File
36 lines
1.1 KiB
Makefile
Executable File
|
|
db_redmine:
|
|
echo "==> Dump Redmine database"
|
|
cd /srv/stacks/redmine && docker compose exec database sh /db_backup/mariadb_backup.sh
|
|
|
|
db_wiki:
|
|
echo "==> Dump Wiki database"
|
|
cd /srv/stacks/wiki && docker compose exec wiki_db sh /db_backup/pg_backup.sh
|
|
|
|
db_catalog:
|
|
echo "==> Dump Catalog database"
|
|
cd /srv/stacks/teletype-games && docker compose exec mysql sh /db_backup/mysql_backup.sh
|
|
|
|
repos:
|
|
echo "==> Get GIT repositories"
|
|
@BASE="/srv/backup/repositories/"; \
|
|
SRC="https://git.teletype.hu"; \
|
|
@TOKEN=$$GITEA_TOKEN; \
|
|
mkdir -p $$BASE; \
|
|
curl -s -H "Authorization: token $$TOKEN" "$$SRC/api/v1/repos/search?limit=10000&private=true" \
|
|
| jq -r '.data[] | "\(.clone_url) \(.full_name)"' \
|
|
| while read repo fullname; do \
|
|
repo=$$(echo $$repo | sed 's|^http://|https://|'); \
|
|
name=$$(basename $$fullname); \
|
|
dir="$$BASE/$$name"; \
|
|
echo "===> Get $$repo name=$$name"; \
|
|
if [ -d "$$dir/.git" ]; then \
|
|
git -C "$$dir" fetch --all --prune; \
|
|
git -C "$$dir" pull; \
|
|
else \
|
|
git clone "$$repo" "$$dir"; \
|
|
fi; \
|
|
done
|
|
|
|
backup: db_redmine db_wiki db_catalog repos
|