zulip/tools/backup

36 lines
753 B
Bash
Executable File

#!/bin/bash -ex
cd /home/tabbott/zulip-backups
log="$(pwd)"/log
# Redirect output to a log file, with timestamps.
# Save original stderr as fd 3.
exec 3>&2 > >(ts >> "$log") 2>&1
# On error, print the log file to original stderr, so I get mail.
function handle_error {
echo 'Error occurred while running backup' >&3
tail "$log" >&3
exit 1
}
trap handle_error ERR
cd wikidata
git pull
function commit {
git commit --allow-empty -a -m '[AUTO] backup'
git repack -da
}
cd ../message_logs
for h in staging.zulip.net prod0.zulip.net; do
rsync -v zulip@$h:logs/event_log/events.* .
done
git add events.*
commit
cd ../wiki
ssh root@trac.zulip.net php /usr/share/mediawiki/maintenance/dumpBackup.php --full > mediawiki.xml
commit