init: jarm.sh inital file

This commit is contained in:
Jamie Albert
2025-10-30 04:04:23 +00:00
parent 0fd76505ca
commit f7bd19c49f

63
scripts/jarm.sh Executable file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
# ---
# @file_name: jarm.sh
# @version: 1.0.0
# @description: Lazy script for mounting rclone
# @author: Jamie Albert (empty_produce)
# @author_contact: <mailto:empty.produce@flatmail.me>
# @license: GNU Affero General Public License v3.0 (Included in LICENSE)
# Copyright (C) 2025, Jamie Albert
# ---
set -euo pipefail
# ---
# @usage: error <exit_code> <message>
# @description: Print an error message to stderr and exit with a specific code.
# @arg: $1 - The exit code to use.
# @arg: $* - The error message to print.
# @return_code: [N] The specified exit code.
# ---
error() {
declare error_msg exit_code="$1"
shift
printf -v error_msg 'error[%d]: %s\n' "$exit_code" "$*"
printf '%s' "$error_msg" >&2
exit "${exit_code}"
}
# ---
# @description: Print an informational message to stdout.
# @arg: $* - The message to print.
# ---
info() {
declare info_msg
printf -v info_msg '%s\n' "$*"
printf '%s' "$info_msg"
}
# ---
# @description: Mount koofr_vault to location
# ---
rclone_mount_koofr() {
info "Mounting koofr..."
/usr/bin/rclone mount koofr: /home/jamie/dao/storage/koofr &
}
# ---
# @description: Mount koofr_vault to location
# ---
rclone_mount_koofr_vault() {
info "Mounting vault..."
/usr/bin/rclone mount koofr_vault: /home/jamie/dao/storage/vault &
}
# ---
# @description: main function call
# @return_code: [2] Failed to mount koofr to dir.
# @return_code: [3] Failed to mount vault to dir.
main() {
rclone_mount_koofr || error 2 "Failed to mount koofr."
rclone_mount_koofr_vault || error 3 "Failed to mount vault."
}
main "$@"