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
Ycarus (Yannick Chabanois) 77ea978dd1 Remove not needed vnstat log
2022-07-28 19:16:21 +02:00

62 lines
No EOL
1.2 KiB
Bash
Executable file

#!/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"
}
backup_database() {
backup="false"
config_load omr-quota
config_foreach _chk_omrquota interface
[ "$(uci -q get openmptcprouter.settings.vnstat_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
fi
}
restore_database() {
if [ -f $BACKUP_FILE ]; then
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
}