first commit
This commit is contained in:
commit
32a7ba8e8f
168 files changed
+123856
No files matched your search
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
# Explicit, copy-only import from a Python/TypeScript installation into new storage.
|
||||
set -euo pipefail
|
||||
umask 077
|
||||
|
||||
usage() {
|
||||
cat <<'USAGE'
|
||||
Usage: ./import-python.sh SOURCE_DIRECTORY [--database PATH] [--backup-root DIRECTORY]
|
||||
|
||||
Import accounts, devices, settings, logs and backup files from the original
|
||||
Python/TypeScript application into a new Rust installation.
|
||||
|
||||
Stop the original application before importing. Source files are not changed.
|
||||
The destination is selected by DATA_DIR and DATABASE_PATH, as with ./start.sh.
|
||||
An existing destination database is never overwritten or merged.
|
||||
|
||||
Examples:
|
||||
./import-python.sh /srv/mikrotik-python
|
||||
DATA_DIR=./storage-imported ./import-python.sh "/srv/old app"
|
||||
./import-python.sh /srv/mikrotik-python --database docker-data/db/routeros_backup_next.db
|
||||
|
||||
The script builds the current Rust sources, runs the import, and exits.
|
||||
After a successful import, run ./start.sh with the same destination settings.
|
||||
See docs/migration.md for discovery rules and backup-path overrides.
|
||||
USAGE
|
||||
}
|
||||
|
||||
if [[ "${1:-}" == "-h" || "${1:-}" == "--help" ]]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
if [[ $# -eq 0 || -z "${1:-}" ]]; then
|
||||
usage >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# Resolve the source before start.sh changes the working directory. Preserve
|
||||
# every argument boundary, including paths containing spaces or shell metacharacters.
|
||||
source_dir="$(CDPATH= cd -- "$1" && pwd -P)" || {
|
||||
echo "Source directory does not exist or cannot be read: $1" >&2
|
||||
exit 2
|
||||
}
|
||||
shift
|
||||
project_dir="$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
exec bash "$project_dir/start.sh" import-python --source "$source_dir" "$@"
|
||||
Reference in new issue
Block a user