1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-13 19:11:51 +00:00
openmptcprouter-feeds/openmptcprouter/files/etc/init.d/vnstat_backup

64 lines
1.3 KiB
Text
Raw Normal View History

2018-10-22 17:16:55 +00:00
#!/bin/sh /etc/rc.common
EXTRA_COMMANDS="backup restore"
EXTRA_HELP=<<EOF
backup Backup vnstat database
restore Restore vnstat database
EOF
START=98
STOP=10
vnstat_option() {
sed -ne "s/^[[:space:]]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" /etc/vnstat.conf
}
BACKUP_FILE=/etc/vnstat_backup.tar.gz
LOGGER_TAG=vnstat_backup
VNSTAT_DIR="$(vnstat_option DatabaseDir)"
_chk_omrquota() {
config_get enabled $1 enabled
[ "$enabled" = "1" ] && backup="true"
}
2018-10-22 17:16:55 +00:00
backup_database() {
backup="false"
config_load omr-quota
config_foreach _chk_omrquota interface
[ "$(uci -q get vnstat.@vnstat[0].backup)" = "1" ] && backup="true"
if [ "$backup" = "true" ]; then
if [ ! -d $VNSTAT_DIR ]; then
logger -t $LOGGER_TAG -p err "cannot backup, data directory $VNSTAT_DIR does not exist (yet)"
else
logger -t $LOGGER_TAG -p info "backing up database"
/bin/tar -zcf $BACKUP_FILE -C $VNSTAT_DIR .
fi
2018-10-22 17:16:55 +00:00
fi
}
restore_database() {
if [ ! -f $BACKUP_FILE ]; then
logger -t $LOGGER_TAG -p err "cannot restore, backup file does not exist (yet)"
else
logger -t $LOGGER_TAG -p info 'restoring database'
[ ! -d $VNSTAT_DIR ] && mkdir $VNSTAT_DIR
/bin/tar -xzf $BACKUP_FILE -C $VNSTAT_DIR
fi
}
start() {
restore_database
}
stop() {
backup_database
}
backup() {
backup_database
}
restore() {
restore_database
}