45 lines
1.0 KiB
Bash
Executable File
45 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Upload files to MinIO obsidian bucket
|
|
# Usage: upload_to_obsidian.sh <file_path> [subpath]
|
|
#
|
|
# Arguments:
|
|
# file_path - Path to the file to upload
|
|
# subpath - Optional subpath within obsidian bucket (default: main)
|
|
#
|
|
# Examples:
|
|
# upload_to_obsidian.sh temp/file.md
|
|
# upload_to_obsidian.sh temp/file.md notes/2024
|
|
# upload_to_obsidian.sh temp/file.md "archive/old projects"
|
|
|
|
set -e
|
|
|
|
# Check arguments
|
|
if [ $# -lt 1 ]; then
|
|
echo "Usage: $0 <file_path> [subpath]" >&2
|
|
exit 1
|
|
fi
|
|
|
|
FILE_PATH="$1"
|
|
SUBPATH="${2:-main}" # Default to 'main' if not specified
|
|
|
|
# Validate file exists
|
|
if [ ! -f "$FILE_PATH" ]; then
|
|
echo "Error: File '$FILE_PATH' does not exist" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Get filename
|
|
FILENAME=$(basename "$FILE_PATH")
|
|
|
|
# Construct target path
|
|
TARGET_PATH="minio/obsidian/${SUBPATH}/${FILENAME}"
|
|
|
|
# Ensure subpath ends without trailing slash for mc
|
|
TARGET_PATH=$(echo "$TARGET_PATH" | sed 's://*:/:g')
|
|
|
|
# Upload file
|
|
mc cp "$FILE_PATH" "$TARGET_PATH"
|
|
|
|
echo "✅ Uploaded: $FILE_PATH -> $TARGET_PATH"
|