Bash for image resize using ImageMagick


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Bash for image resize using ImageMagick
# 1  
Old 08-12-2009
Question Bash for image resize using ImageMagick

Hi all,

I have a FreeNAS server hosting all of my images. The original images are high resolution. What I would like to do is 2 parts:

1. do a batch resize of all of the images so I have web-friendly version and print ready version
2. run a cron job to apply the bash to any "new" files

First I want to tackle the bash script. As far as I can tell, these are the things that I must take into account:

1. I have a directory structure that I want to duplicate and maintain
2. I want to keep the originals
3. I want a duplicate that is web-friendly
4. Original dir is "./pictures"
5. New dir is "./resized"
6. Script will live in the "/pictures" dir
7. Identify new images

I think that is it! Smilie

I know how to copy the structure but I don't think that Imagemagick will check recursively by itself. That is where I am stuck.

I'm relatively new to bash, but here is what I have so far:

Code:
#!/bin/bash

# find all directories, copy structure

find . -type d | cpio -pvdm ../resized

# creates the new image, move to new dir

for f in *.jpg;
do
    echo "Processing $f"
    convert -resize "50%"  \
        $f ./resized/$f
done

The copy of the image "$f ./resized/$f" will just be dumped into the root of "/resized". So I am stuck there too.

I'm also wondering about the logic for the next step of checking for new images, then running the convert part on that. Is there a command that will compare the dir and identify the new files?

I appreciate any help!

Thanks!
Smilie
# 2  
Old 08-13-2009
This code copy in Dir2 the files of Dir1 if the file don't exist en Dir2
Code:
Dir1=$1
Dir2=$2
for file in `find $Dir1  -type f `
do
	name=`basename $file`
	if [ ! -f "$Dir2/$name" ]
	then
	  cp $file $Dir2
	fi
done

Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need a little help with my first shell script. Basic image resize script...

Hey everyone, just now joined because I didn't want to go onto Ubuntu forums and start asking about how to write shell scripts. Seems like this is a pretty active forum for exactly what I need. I'm trying to modify a shell script I found online, the end goal is to have it find all files in the... (9 Replies)
Discussion started by: mozzles
9 Replies

2. Shell Programming and Scripting

Imagemagick File Padding Issue

Hello, I'm having a problem figuring out the syntax for padding 10-99. Everything else in the program works fine so I want to focus in on just this part of the code. Below is a snippet of the code that I am having problems with. I appreciate all the help I can get. Thank you. The script... (7 Replies)
Discussion started by: jsells20
7 Replies

3. UNIX and Linux Applications

looking for ImageMagick install package

i am struggling to find an error free, and complete install package for ImageMagick (with perl- "PerlMagick"). imagemagick.org not much help.... links for source, mirrors etc dont work. any pointers appreciated. linux server. (2 Replies)
Discussion started by: mickeymouse
2 Replies

4. UNIX for Advanced & Expert Users

Create an Ignite image on tape from Online IgniteUX image

Hi, (HP-UX 11.11) I need to create a tape image of an igniteUX image created on our igniteUX server. That is to say. I have a "Online" image of the igniteUX of the targeted system but I now need to copy it to a useable TAPE (igniteUX) image so i can build an other server from it that is not... (3 Replies)
Discussion started by: Andrek
3 Replies

5. UNIX for Dummies Questions & Answers

imageMagick?

Hi I am planning to install ImageMagick on my server here. I have learned what I needed about Unix when I needed it..... but I have never installed anything before. I have downloaded the necessary file from imagemagick.org, and their installation instructions seem easy enough (only 2 or 3... (2 Replies)
Discussion started by: bob2003
2 Replies
Login or Register to Ask a Question