#!/usr/bin/env bash # Author: Oliver Ladner # License: LGPL # # Fetches all your delicious bookmarks # and validates the XML before saving. # Requires xmlstarlet DEL_USER=foo DEL_PASS=bar API_URL=api.del.icio.us/v1/posts/all BKP_FILE=/home/username/deliciousbackup.xml # When no backup exists, just do it if [ ! -f $BKP_FILE ]; then curl -s https://$DEL_USER:$DEL_PASS@$API_URL > $BKP_FILE else curl -s https://$DEL_USER:$DEL_PASS@$API_URL > $BKP_FILE.tmp if [ $(xmlstarlet validate $BKP_FILE.tmp > /dev/null 2>&1; echo $?) -gt 0 ]; then rm $BKP_FILE.tmp echo "Downloaded XML file not valid. Previous backup preserved." # if XML is valid, move to final destination else mv $BKP_FILE.tmp $BKP_FILE fi fi