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