Bloggings

Back

Living on Snac's bleeding edge

2026-05-25

Autoupdate script

I like living on the bleeding edge of snac2, so I added this (banal) script to /etc/cron.daily.

#!/usr/bin/env bash
# snaceto
# Social Networks Are Crap Except This One

cd /home/snac/src/snac2 || exit

sudo -u snac git remote update
UPDATED="$(git status -uno | grep -c 'up to date')"

if [ "$UPDATED" -ne "1" ] ; then
    echo "Updating..."
    systemctl stop snac.service
	# backup data before update
	TODAY=$(date "+%Y-%m-%d-%H-%m")
	BACKUPDIR="/opt/backups"
	mkdir -p "$BACKUPDIR"
	FILENAME="$BACKUPDIR/pre-update-snac-$TODAY.tar.gz"
	tar -zcf "$FILENAME" /home/snac/data
	# pull latest
	sudo -u snac git pull
	sudo -u snac make
	make install
	sudo -u snac snac upgrade /home/snac/data
	systemctl start snac.service
	VERSION="$(snac | head -n2)"
	toot post "My bleeding edge #snac2 server has been updated
$VERSION" fi