|
1 | 1 | #!/bin/bash |
2 | 2 |
|
3 | | -jdupes_command="/usr/bin/jdupes" |
4 | | -exclude_dirs="-X nostr:.RecycleBin -X nostr:.trash" |
5 | | -include_ext="-X onlyext:mp4,mkv,avi" |
6 | | -output_log="/.config/jdupes.log" |
7 | | -source_dir="/mnt/data/media/" |
8 | | -destination_dir="/mnt/data/torrents/" |
9 | | -hash_db="/.config/jdupes_hashdb" |
| 3 | +# Load environment variables from .env file |
| 4 | +# Load environment variables from .env file if it exists |
| 5 | +if [ -f ".env" ]; then |
| 6 | + # shellcheck source=.env |
| 7 | + source ".env" |
| 8 | +fi |
| 9 | +# Variables |
| 10 | +JDUPES_OUTPUT_LOG=${JDUPES_OUTPUT_LOG:-"/var/log/jdupes.log"} |
| 11 | +JDUPES_SOURCE_DIR=${JDUPES_SOURCE_DIR:-"/mnt/data/media/"} |
| 12 | +JDUPES_DESTINATION_DIR=${JDUPES_DESTINATION_DIR:-"/mnt/data/torrents/"} |
| 13 | +JDUPES_HASH_DB=${JDUPES_HASH_DB:-"/var/lib/jdupes_hashdb"} |
| 14 | +## Secret Variables |
| 15 | +JDUPES_COMMAND=${JDUPES_COMMAND:-"/usr/bin/jdupes"} |
| 16 | +JDUPES_EXCLUDE_DIRS=${JDUPES_EXCLUDE_DIRS:-"-X nostr:.RecycleBin -X nostr:.trash"} |
| 17 | +JDUPES_INCLUDE_EXT=${JDUPES_INCLUDE_EXT:-"mp4,mkv,avi"} |
10 | 18 |
|
| 19 | +# Logging the start of the operation |
11 | 20 | timestamp=$(date +"%Y-%m-%d %H:%M:%S") |
12 | | -echo "[$timestamp] Duplicate search started for $source_dir and $destination_dir." >> "$output_log" |
13 | | -$jdupes_command $exclude_dirs $include_ext -L -r -Z -y "$hash_db" "$source_dir" "$destination_dir" >> "$output_log" |
| 21 | +echo "[$timestamp] Duplicate search started for $JDUPES_SOURCE_DIR and $JDUPES_DESTINATION_DIR." >>"$JDUPES_OUTPUT_LOG" |
| 22 | +echo "command is" |
| 23 | +# Running jdupes with the loaded environment variables |
| 24 | +echo "$JDUPES_COMMAND" "$JDUPES_EXCLUDE_DIRS" "$JDUPES_INCLUDE_EXT" -L -r -Z -y "$JDUPES_HASH_DB" "$JDUPES_SOURCE_DIR" "$JDUPES_DESTINATION_DIR" |
| 25 | +"$JDUPES_COMMAND" "$JDUPES_EXCLUDE_DIRS" -X onlyext:"$JDUPES_INCLUDE_EXT" -L -r -Z -y "$JDUPES_HASH_DB" "$JDUPES_SOURCE_DIR" "$JDUPES_DESTINATION_DIR" >>"$JDUPES_OUTPUT_LOG" |
| 26 | + |
| 27 | +# Logging the completion of the operation |
14 | 28 | timestamp=$(date +"%Y-%m-%d %H:%M:%S") |
15 | | -echo "[$timestamp] Duplicate search completed for $source_dir and $destination_dir." >> "$output_log" |
| 29 | +echo "[$timestamp] Duplicate search completed for $JDUPES_SOURCE_DIR and $JDUPES_DESTINATION_DIR." >>"$JDUPES_OUTPUT_LOG" |
0 commit comments