\

AlisonW

search for topic 'Hacks' requested

A Mastodon backup script

2022-11-12 19:42:32 - by AlisonW Hacks Software

It's always good practice to backup your services, both automatically (eg /etc/crontab) or on an ad-hoc basis. Preferably both. This is a simple script for a Mastodon instance.

#!/bin/sh
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root"
exit 1
fi

mv /wkspc/mastodonbackup/ /wkspc/mastodonbackup-1/

mkdir /wkspc/mastodonbackup/
mkdir /wkspc/mastodonbackup/env/
mkdir /wkspc/mastodonbackup/redis/
mkdir /wkspc/mastodonbackup/system/
mkdir /wkspc/mastodonbackup/system/accounts/
mkdir /wkspc/mastodonbackup/system/custom_emojis/
mkdir /wkspc/mastodonbackup/system/media_attachments/
mkdir /wkspc/mastodonbackup/system/site_uploads/
mkdir /wkspc/mastodonbackup/postgres/

chown postgres:postgres -R /wkspc/mastodonbackup/postgres/
runuser - postgres -c 'pg_dumpall -f /wkspc/mastodonbackup/postgres/pg_dump'

cp -R /home/mastodon/live/.env.* /wkspc/mastodonbackup/env/
cp /var/lib/redis/dump.rdb /wkspc/mastodonbackup/redis/
chmod 644 /wkspc/mastodonbackup/redis/dump.rdb
cp -R /home/mastodon/live/public/system/accounts/ /wkspc/mastodonbackup/system/accounts/
cp -R /home/mastodon/live/public/system/custom_emojis/ /wkspc/mastodonbackup/system/custom_emojis/
cp -R /home/mastodon/live/public/system/media_attachments/ /wkspc/mastodonbackup/system/media_attachments/
cp -R /home/mastodon/live/public/system/site_uploads/ /wkspc/mastodonbackup/system/site_uploads/

echo "Mastodon Backup completed."