feat: migration
This commit is contained in:
40
src/backup.sh
Normal file
40
src/backup.sh
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
GOTIFYURL="$GOTIFYHOST/message?token=$GOTIFYTOKEN"
|
||||
|
||||
echo "$(date +"%Y-%m-%dT%T") - Starting backup"
|
||||
|
||||
restic backup \
|
||||
--verbose \
|
||||
$SOURCEDIR
|
||||
|
||||
RESTIC_BACKUP_RETURN=$?
|
||||
|
||||
if [ $RESTIC_BACKUP_RETURN -eq 0 ]; then
|
||||
MSG_BACKUP_SUCCESS="Backup successful"
|
||||
echo "$(date +"%Y-%m-%dT%T") - $MSG_BACKUP_SUCCESS"
|
||||
curl -s -X POST "$GOTIFYURL" -F "title=$GOTIFYTOPIC" -F "message=$MSG_BACKUP_SUCCESS"
|
||||
else
|
||||
MSG_BACKUP_ERR="Backup failed with error code $RESTIC_BACKUP_RETURN"
|
||||
echo "$(date +"%Y-%m-%dT%T") - MSG_BACKUP_ERR"
|
||||
curl -s -X POST "$GOTIFYURL" -F "title=$GOTIFYTOPIC" -F "message=$MSG_BACKUP_ERR"
|
||||
exit $RESTIC_BACKUP_RETURN
|
||||
fi
|
||||
|
||||
|
||||
MSG_PURGE_START="$(date +"%Y-%m-%dT%T") - Removing old backups"
|
||||
echo $MSG_PURGE_START
|
||||
|
||||
restic forget --keep-last $KEEPLAST --prune
|
||||
RESTIC_PURGE_RETURN=$?
|
||||
|
||||
if [ $RESTIC_PURGE_RETURN -eq 0 ]; then
|
||||
echo "$(date +"%Y-%m-%dT%T") - Purge successful"
|
||||
else
|
||||
MSG_PURGE_ERR="Purge failed with error code $MSG_PURGE_ERR"
|
||||
echo "$(date +"%Y-%m-%dT%T") - $MSG_PURGE_ERR"
|
||||
curl -s -X POST "$GOTIFYURL" -F "title=$GOTIFYTOPIC" -F "message=$MSG_PURGE_ERR"
|
||||
exit $RESTIC_PURGE_RETURN
|
||||
fi
|
||||
|
||||
echo "$(date +"%Y-%m-%dT%T") - Going back to sleep..."
|
||||
18
src/entry.sh
Normal file
18
src/entry.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir /etc/cron.d
|
||||
touch /etc/cron.d/backup
|
||||
echo "$INTERVAL /bin/sh /app/backup.sh" > /etc/cron.d/backup
|
||||
|
||||
# change ownership and make the cron known to crontab
|
||||
chmod 0644 /etc/cron.d/backup && crontab /etc/cron.d/backup
|
||||
|
||||
|
||||
if [ $RUNONSTART = 'true' ]; then
|
||||
echo $(date +"%Y-%m-%dT%T") "- Running initial backup"
|
||||
/bin/sh /app/backup.sh
|
||||
fi
|
||||
|
||||
# Wait until infinity
|
||||
echo $(date +"%Y-%m-%dT%T") "- Starting cron"
|
||||
crond -f
|
||||
Reference in New Issue
Block a user