Shell Script: Resize Semua Foto dengan ImageMagick

Script ini akan mengambil semua file gambar di folder asal, lalu mengubah ukurannya (misalnya 800px lebar) dan menyimpan hasilnya ke folder tujuan. File asli tetap aman di folder asal.

Skrip Lengkap (resize-images.sh)

    
    
#!/bin/bash
# resize-images.sh
# Gunakan: ./resize-images.sh /path/folder_asal /path/folder_tujuan 800

SOURCE_DIR="$1"
DEST_DIR="$2"
SIZE="$3"

if [ -z "$SOURCE_DIR" ] || [ -z "$DEST_DIR" ] || [ -z "$SIZE" ]; then
  echo "Usage: $0 /folder_asal /folder_tujuan ukuran_px"
  exit 1
fi

mkdir -p "$DEST_DIR"

for img in "$SOURCE_DIR"/*.{jpg,jpeg,png}; do
  if [ -f "$img" ]; then
    filename=$(basename "$img")
    convert "$img" -resize "${SIZE}" "$DEST_DIR/$filename"
    echo "✔ $filename -> resized to $SIZE px"
  fi
done

echo "Semua gambar sudah diresize dan disimpan di $DEST_DIR"
  

Cara Menggunakan

  1. Simpan skrip di atas sebagai resize-images.sh.
  2. Beri izin eksekusi:
    chmod +x resize-images.sh
  3. Jalankan:
    ./resize-images.sh /home/user/foto /home/user/foto_kecil 800
times;