Github link: https://github.com/jchai01/resize-photo-script

#!/bin/sh
# This script requires imagemagick.

image_dir=$1
target_ratio="1080x1080"

if [ -z "$image_dir" ]; then
	echo "Please provide image directory as first argument."
	exit 1
fi

if [ ! -d "$image_dir" ]; then
	echo "Not a valid directory"
	exit 1
fi

output_dir="$image_dir-output"

echo "Located $image_dir"
echo "Creating output $output_dir"
mkdir "$output_dir"

for image in "$image_dir"/*; do
	echo "Processing $image"
	file_name=$(basename "$image")

	# convert -bordercolor white -border 100 -gravity center -resize 1200x1200 -extent 1200x1200 $image $output_dir/$file_name
	convert -background black -gravity center -resize $target_ratio -extent $target_ratio "$image" "$output_dir"/"$file_name"

done

Resize Images Link to heading

Basic usage (will overwrite the original file):

$ mogrify -resize 820x ./*.jpg

If you need recursion:

find . -name '*.jpg' -execdir mogrify -resize 820x {} +