Mauro Rosero P
6210bd07f3
- Se cambia la libreria gpg a developers - Se cambia el comando gpg_backup.sh a profile_backup.sh - Se hacen mejoras a la documentación del sistema - El respaldo ahora incluye las carpetas .ssh, .gnugp y .gitconfig del usuario - Otros cambios menores
96 lines
2.2 KiB
Bash
96 lines
2.2 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Library: sqlite.lib
|
|
# Description: SQLITE Developers Library
|
|
# Modified: 2024/12/09 08:20:00
|
|
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>]
|
|
#
|
|
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
|
|
# bajo los términos de la Licencia Pública Affero General de GNU tal como
|
|
# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia,
|
|
# o (a su elección) cualquier versión posterior.
|
|
#
|
|
# Este programa se distribuye con la esperanza de que sea útil,
|
|
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
|
|
# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
|
|
# Licencia Pública Affero General de GNU para obtener más detalles.
|
|
#
|
|
# Debería haber recibido una copia de la Licencia Pública Affero General
|
|
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
DB_LOADED=1
|
|
DB_PATH=dbfiles
|
|
DB_USER=${USER}.db
|
|
|
|
# Test library
|
|
function sqlitelib_test() {
|
|
echo "Sqlite Library loaded!"
|
|
exit 1
|
|
}
|
|
|
|
# Export selected sqlite tables
|
|
# Arguments:
|
|
# $1: Database file
|
|
# $2: Dump tables file
|
|
# $3...: Tables list to dump
|
|
# Example Use:
|
|
# sqlite_export "my_database.db" "output.sql" "table1" "table2"
|
|
# To export all tables, use:
|
|
# sqlite_export "my_database.db" "output.sql"
|
|
|
|
function sqlite_dump() {
|
|
|
|
local DATABASE=$1
|
|
local DUMP_FILE=$2
|
|
|
|
shift 2
|
|
local TABLES_LIST=("$@")
|
|
local rc=0
|
|
|
|
# Check if database exists
|
|
if [ -z "$DATABASE" ]; then
|
|
return 18
|
|
fi
|
|
|
|
if [ ! -f "$DATABASE" ]; then
|
|
return 14
|
|
fi
|
|
|
|
# Check not blank dump file name
|
|
if [ -z "$DUMP_FILE" ]; then
|
|
return 15
|
|
fi
|
|
|
|
if [ ${#TABLES_LIST[@]} -eq 0 ]
|
|
then
|
|
# If no tables are provided, dump all tables
|
|
sqlite3 "$DATABASE" .dump > $DUMP_FILE
|
|
rc=$?
|
|
if [ $rc -gt 1 ]; then
|
|
return $rc
|
|
else
|
|
return 0
|
|
fi
|
|
fi
|
|
|
|
# Reset dump file
|
|
> $DUMP_FILE
|
|
|
|
for TABLE in "${TABLES_LIST[@]}"
|
|
do
|
|
# Check if table exists
|
|
EXIST=$(sqlite3 $DATABASE "SELECT name FROM sqlite_master WHERE type='table' AND name='$TABLE';")
|
|
if [ "$EXIST" == "$TABLE" ]; then
|
|
clear
|
|
sqlite3 "$DATABASE" ".dump $TABLE" >> $DUMP_FILE
|
|
rc=$?
|
|
if [ $rc -gt 1 ]; then
|
|
return $rc
|
|
fi
|
|
fi
|
|
done
|
|
|
|
return 0
|
|
|
|
}
|