USER="images" DB=$USER PASS="pr0n" HOST="localhost" #mysql -u hendry -p -h mysql.natalian.org natalian if [[ ! ${@:+set} ]]; then echo $0 requires image filename exit fi query(){ #echo $* result=`echo "$*" | mysql -N -h $HOST -u $USER --password=$PASS $DB` return $? } FILE="$@" FILENAME=`basename "$FILE"|tr '[A-Z]' '[a-z]'` query "SELECT image_id FROM images WHERE (filename)=('$FILENAME');" IMAGEID=$result if [[ ! ${result:+set} ]]; then # result would not be populated if there was a DUP error query "INSERT INTO images ( filename ) VALUES ('$FILENAME');" query "SELECT image_id FROM images WHERE (filename)=('$FILENAME');" IMAGEID=$result fi # [[ ${var+set} ]] && echo isset || echo unset query "SELECT hostname, path FROM copies WHERE (hostname)=('$HOSTNAME') AND (path)=('$FILE');" if [[ ! ${result:+set} ]]; then BADEXIF=`jhead -ft $FILE | grep -c "contains no Exif timestamp"` SIZE=`stat -c %s "$FILE"` DATE=`stat -c %Y "$FILE"` MD5=`md5sum "$FILE"|sed s'/ .*$//'` query "INSERT INTO copies ( hostname, path, date, size, badexif, md5sum, image_id ) VALUES ('$HOSTNAME', '$FILE', FROM_UNIXTIME('$DATE'), '$SIZE', '$BADEXIF', '$MD5', '$IMAGEID');" printf "Added %s:%s\n" "$HOSTNAME" "$FILE" #$DATE $SIZE $BADEXIF $MD5 query "UPDATE images SET copy_count = copy_count + 1 WHERE image_id = $IMAGEID" #else #echo SHOULD PERFORM AN UPDATE fi