#!/bin/sh # Copyright (C) 2011 DK7XE.de # include common functions . /etc/functions.sh local HOSTNAME local BACKUPDIR local REMOTEFILE2 local PKG_INSTALLED local LOG_FILE #--------------------------------------------------- # get the own name, to difference different WRTs #--------------------------------------------------- system_config() { local cfg="$1" config_get HOSTNAME "$cfg" hostname 'OpenWrt' } config_load system config_foreach system_config system #--------------------------------------------------- # definition of variables #--------------------------------------------------- BACKUPDIR="/backup/system" REMOTEFILE2="$HOSTNAME-backup-$(date +%Y.%m.%d).tar.gz" display="/dev/Display" PKG_INSTALLED="/tmp/packages.installed" LOG_FILE="/tmp/syslog.list" #--------------------------------------------------- # Files to backup #--------------------------------------------------- FILES2BACKUP=$(awk '{ORS=NR?" ":"\n"}1' /backup/system/.config) #--------------------------------------------------- # create list of installed packages opkg list_installed | awk '{ print $1 }' > $PKG_INSTALLED # opkg list_installed | awk '{ORS=NR?" ":"\n"}1' > $PKG_INSTALLED # creat syslog dump logread > $LOG_FILE ## create backup tar czf $BACKUPDIR/$REMOTEFILE2 $PKG_INSTALLED $LOG_FILE $FILES2BACKUP ## backup done if [ -f $BACKUPDIR/$REMOTEFILE2 ] ; then echo "SYSTEM backup DONE as" > $display echo "$REMOTEFILE2" > $display logger -t "SYSTEM backup" "DONE as $BACKUPDIR/$REMOTEFILE2" # upload data to fritz.box /home/bin/ftp-upload fritz.box $BACKUPDIR/$REMOTEFILE2 else echo "SYSTEM backup FAILED" > $display logger -t "SYSTEM backup" "..FAILED!!!!!!!!!" fi rm -r -f $PKG_INSTALLED rm -r -f $LOG_FILE