mirror of
https://github.com/Noratrieb/vps.git
synced 2026-01-14 16:55:00 +01:00
xz the world
This commit is contained in:
parent
0eae57ba2e
commit
9028a785fc
1 changed files with 28 additions and 18 deletions
|
|
@ -7,12 +7,19 @@ PREFIX="1/$(date --rfc-3339 seconds --utc)"
|
||||||
|
|
||||||
cd /apps
|
cd /apps
|
||||||
|
|
||||||
function upload {
|
function upload_file {
|
||||||
local file="$1"
|
local file="$1"
|
||||||
aws s3api put-object --bucket "$BUCKET" --key "${PREFIX}/${file}" --body "${file}"
|
local tmppath
|
||||||
|
tmppath="$(mktemp)"
|
||||||
|
|
||||||
|
cp "$file" "$tmppath"
|
||||||
|
xz "$tmppath"
|
||||||
|
aws s3api put-object --bucket "$BUCKET" --key "${PREFIX}/${file}.xz" --body "${tmppath}.xz"
|
||||||
|
|
||||||
|
rm "$tmppath.xz"
|
||||||
}
|
}
|
||||||
|
|
||||||
function pg_dump {
|
function upload_pg_dump {
|
||||||
local appname="$1"
|
local appname="$1"
|
||||||
local containername="$2"
|
local containername="$2"
|
||||||
local dbname="$3"
|
local dbname="$3"
|
||||||
|
|
@ -22,13 +29,14 @@ function pg_dump {
|
||||||
|
|
||||||
docker exec "$containername" pg_dump --format=custom --file /tmp/db.bak --host "127.0.0.1" --dbname "$dbname" --username "$username"
|
docker exec "$containername" pg_dump --format=custom --file /tmp/db.bak --host "127.0.0.1" --dbname "$dbname" --username "$username"
|
||||||
docker cp "$containername:/tmp/db.bak" "$tmppath"
|
docker cp "$containername:/tmp/db.bak" "$tmppath"
|
||||||
aws s3api put-object --bucket "$BUCKET" --key "${PREFIX}/$appname/db.bak" --body "$tmppath"
|
xz "$tmppath"
|
||||||
|
aws s3api put-object --bucket "$BUCKET" --key "${PREFIX}/$appname/postgres.bak.xz" --body "$tmppath.xz"
|
||||||
|
|
||||||
docker exec "$containername" rm "/tmp/db.bak"
|
docker exec "$containername" rm "/tmp/db.bak"
|
||||||
rm "$tmppath"
|
rm "$tmppath.xz"
|
||||||
}
|
}
|
||||||
|
|
||||||
function dump_mongo {
|
function upload_dump_mongo {
|
||||||
local appname="$1"
|
local appname="$1"
|
||||||
local containername="$2"
|
local containername="$2"
|
||||||
local usernamepassword="$3"
|
local usernamepassword="$3"
|
||||||
|
|
@ -37,14 +45,14 @@ function dump_mongo {
|
||||||
|
|
||||||
docker exec "$containername" mongodump --archive=/tmp/db.bak --uri="mongodb://${usernamepassword}@127.0.0.1:27017"
|
docker exec "$containername" mongodump --archive=/tmp/db.bak --uri="mongodb://${usernamepassword}@127.0.0.1:27017"
|
||||||
docker cp "$containername:/tmp/db.bak" "$tmppath"
|
docker cp "$containername:/tmp/db.bak" "$tmppath"
|
||||||
aws s3api put-object --bucket "$BUCKET" --key "${PREFIX}/$appname/db.bak" --body "$tmppath"
|
xz "$tmppath"
|
||||||
|
aws s3api put-object --bucket "$BUCKET" --key "${PREFIX}/$appname/db.bak.xz" --body "$tmppath.xz"
|
||||||
|
|
||||||
docker exec "$containername" rm "/tmp/db.bak"
|
docker exec "$containername" rm "/tmp/db.bak"
|
||||||
rm "$tmppath"
|
rm "$tmppath.xz"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function upload_directory_xz {
|
function upload_directory {
|
||||||
local appname="$1"
|
local appname="$1"
|
||||||
local directory="$2"
|
local directory="$2"
|
||||||
local filename="$3"
|
local filename="$3"
|
||||||
|
|
@ -57,16 +65,18 @@ function upload_directory_xz {
|
||||||
rm "$tmppath"
|
rm "$tmppath"
|
||||||
}
|
}
|
||||||
|
|
||||||
upload "bisect-rustc-service/db.sqlite"
|
upload_file "bisect-rustc-service/db.sqlite"
|
||||||
upload "killua/trivia_questions.json"
|
upload_file "killua/trivia_questions.json"
|
||||||
upload "uptime/uptime.db"
|
upload_file "uptime/uptime.db"
|
||||||
|
|
||||||
pg_dump "cors-school" "cors-school-db" "davinci" "postgres"
|
upload_pg_dump "cors-school" "cors-school-db" "davinci" "postgres"
|
||||||
pg_dump "hugo-chat" "hugo-chat-db" "postgres" "postgres"
|
upload_pg_dump "hugo-chat" "hugo-chat-db" "postgres" "postgres"
|
||||||
pg_dump "openolat" "openolat-db" "oodb" "oodbu"
|
upload_pg_dump "openolat" "openolat-db" "oodb" "oodbu"
|
||||||
|
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source "karin-bot/.env"
|
source "karin-bot/.env"
|
||||||
dump_mongo "karin-bot" "karin-bot-db" "$MONGO_INITDB_ROOT_USERNAME:$MONGO_INITDB_ROOT_PASSWORD"
|
upload_dump_mongo "karin-bot" "karin-bot-db" "$MONGO_INITDB_ROOT_USERNAME:$MONGO_INITDB_ROOT_PASSWORD"
|
||||||
|
|
||||||
upload_directory_xz "openolat" "openolat/olatdata" "olatdata.tar.xz"
|
upload_directory "openolat" "openolat/olatdata" "olatdata.tar.xz"
|
||||||
|
|
||||||
|
echo "Finished backup!"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue