#!/bin/bash # backup directory SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" backup_dir=${SCRIPT_DIR}/backup # load variaables form config source ${SCRIPT_DIR}/openhab.conf # current date DATE=$(date +"%Y%m%d_%H%M%S") # create backuop directories mkdir -p ${backup_dir}/conf mkdir -p ${backup_dir}/data/conf mkdir -p ${backup_dir}/data/addons mkdir -p ${backup_dir}/data/userdata ## backup # main conf tar -cjf ${backup_dir}/conf/${DATE}.tbz2 openhab.conf # openHAB conf tar -C ${SCRIPT_DIR}/data -cjf ${backup_dir}/data/conf/${DATE}.tbz2 conf # openHAB addons tar -C ${SCRIPT_DIR}/data -cjf ${backup_dir}/data/addons/${DATE}.tbz2 addons # openHAB userdata tar -C ${SCRIPT_DIR}/data --exclude='userdata/backup' --exclude='userdata/logs' -cjf ${backup_dir}/data/userdata/${DATE}.tbz2 userdata # delete all files older 30 days find ${backupDir} -iname "*.tbz2" -type f -mtime +30 -exec rm {} \; > /dev/null